33 Commits

Author SHA1 Message Date
57e96e529a Merge branch 'master' into ghostty 2025-07-02 19:47:08 -07:00
363be8e6fe Default ghostty config 2025-07-02 19:35:57 -07:00
863a1b0b3e Fix nvidia check 2025-07-02 16:21:52 -07:00
e9a399173b Set a default branch name 2025-07-02 13:15:43 -07:00
14fe67e179 Merge pull request #13 from Kn0ax/master
Nvidia support for omarchy
2025-07-02 12:54:21 -07:00
e8c9a5ad49 remove defensive code 2025-07-01 21:52:49 +02:00
35aa002475 Merge pull request #20 from harilvfs/license
chore: add MIT license file
2025-06-30 16:42:20 -07:00
8d15510a0c Update LICENSE 2025-06-30 16:42:09 -07:00
3c07b541bd Good window defaults for gaming 2025-06-30 16:00:03 -07:00
f244be542f add license file 2025-07-01 00:47:40 +05:45
d6a44c24a7 remove unneeded comments 2025-06-30 20:53:36 +02:00
188d1c331a requested changes 2025-06-30 20:45:17 +02:00
cfa63fdc67 Add function to refresh xcompose after changes 2025-06-29 21:11:49 -07:00
da31736b9a Explain it 2025-06-29 19:01:48 -07:00
5e56279fee Float sound and bluetooth settings 2025-06-29 19:01:25 -07:00
504a7a85c2 Merge pull request #15 from 0xProt/master
chore: removed duplicated key in waybar battery config
2025-06-29 17:16:43 -07:00
b5dfaef8bb enable multilib (if not already) 2025-06-30 00:47:42 +02:00
8f68793f7c fix script path
meh, stupid me
2025-06-30 00:38:36 +02:00
86d9050420 chore: removed duplicated key in waybar battery config 2025-06-29 22:38:14 +01:00
fbd85990d0 [not tested] nvidia support
this commit tries to add nvidia suppport.
it's not tested yet.
2025-06-29 22:27:16 +02:00
3162a4cd5a This strategy didnt actually work, just use all 2025-06-29 12:50:53 -07:00
dedc08a76e Allow you to easily run all migrations by passing "all"
Helpful for testing or if something went wrong
2025-06-29 12:49:51 -07:00
d227a541f0 Add migration to fix the persistent workspaces in the waybar config 2025-06-29 12:39:22 -07:00
40cd9575d2 Merge pull request #10 from kennethgeerts/master
Fix for persistent workspaces shown in waybar
2025-06-29 12:35:07 -07:00
671f9c7882 Sleep on Super + Shift + Escape
And move restarting Hyprland to Super + Alt + Escape
2025-06-28 16:48:16 -07:00
6af496f394 Fix opacity 2025-06-28 16:30:43 -07:00
56f60adf6b Fix for persistent workspaces shown in waybar 2025-06-29 01:17:17 +02:00
9a8f4523e7 Fix that Chromium is now a capitalized class 2025-06-28 16:01:43 -07:00
18931a8fd3 Need to have the service available first 2025-06-28 15:50:19 -07:00
6842258031 Fix this 2025-06-28 11:51:11 -07:00
aa4fddf53f Run these again so the updated omarchy-update gets them too 2025-06-28 11:50:19 -07:00
07b89e0ad8 Only run this if we are missing bat 2025-06-28 11:48:08 -07:00
2a2a77685c Add migration system and fix bluetooth service + missing bat 2025-06-28 11:46:28 -07:00
14 changed files with 171 additions and 22 deletions

20
LICENSE Normal file
View File

@ -0,0 +1,20 @@
Copyright (c) David Heinemeier Hansson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -2,8 +2,13 @@
cd ~/.local/share/omarchy
# Remember the version we're at before upgrading
last_updated_at=$(git log -1 --format=%cd --date=unix)
if [[ $1 == "all" ]]; then
# Run all migrations
last_updated_at=1
else
# Remember the version we're at before upgrading
last_updated_at=$(git log -1 --format=%cd --date=unix)
fi
# Get the latest
git pull
@ -20,4 +25,4 @@ for file in migrations/*.sh; do
done
# Back to where we came from
cd -
cd - >/dev/null

27
config/ghostty/config Normal file
View File

@ -0,0 +1,27 @@
# Font configuration
font-family = CaskaydiaMono Nerd Font
font-size = 9
adjust-cell-height=7%
# Window settings
window-padding-x = 14
window-padding-y = 14
window-decoration = false
background-opacity = 0.98
# Window behavior
confirm-close-surface=false
resize-overlay = never
# Cursor stlying
cursor-style = "block"
cursor-style-blink = false
# Terminal settings
term = xterm-256color
# Keybindings
keybind = f11=toggle_fullscreen
# FIXME: Will need to change this theme out in a symlink
theme = "tokyonight"

View File

@ -27,10 +27,6 @@ source = ~/.config/omarchy/current/theme/hyprland.conf
# Extra env variables
env = GDK_SCALE,2 # Change to 1 if on a 1x display
# Extra env variables needed if running an NVIDIA GPU
# env = NVD_BACKEND,direct
# env = LIBVA_DRIVER_NAME,nvidia
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# Extra bindings
bind = SUPER, A, exec, $webapp="https://chatgpt.com"

View File

@ -34,7 +34,7 @@
"9": "9",
"active": "󱓻"
},
"persistent_workspaces": {
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
@ -66,7 +66,6 @@
"on-click": "alacritty -e iwctl"
},
"battery": {
"interval": 5,
"format": "{capacity}% {icon}",
"format-discharging": "{icon}",
"format-charging": "{icon}",

View File

@ -66,5 +66,11 @@ web2app-remove() {
rm "$ICON_PATH"
}
# Ensure changes to ~/.XCompose are immediately available
refresh-xcompose() {
pkill fcitx5
setsid fcitx5 &>/dev/null &
}
# Ensure that external keyboards that use an fn key has the F keys as the default
alias fix_fkeys='echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode'

View File

@ -19,7 +19,8 @@ bind = SUPER, W, killactive,
# End active session
bind = SUPER, ESCAPE, exec, hyprlock
bind = SUPER SHIFT, ESCAPE, exit,
bind = SUPER SHIFT, ESCAPE, exec, systemctl suspend
bind = SUPER ALT, ESCAPE, exit,
bind = SUPER CTRL, ESCAPE, exec, reboot
bind = SUPER SHIFT CTRL, ESCAPE, exec, systemctl poweroff

View File

@ -2,14 +2,21 @@
windowrule = suppressevent maximize, class:.*
# Force chromium into a tile to deal with --app bug
windowrule = tile, class:^(chromium)$
windowrule = tile, class:^(Chromium)$
# Float sound and bluetooth settings
windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py)$
# Float Steam, fullscreen RetroArch
windowrule = float, class:^(steam)$
windowrule = fullscreen, class:^(com.libretro.RetroArch)$
# Just dash of opacity
windowrule = opacity 0.97 0.9, class:.*
windowrule = opacity 1 0.97, class:^(chromium|google-chrome|google-chrome-unstable)$
windowrule = opacity 0.97 0.9, initialClass:^(chrome-.*-Default)$ # web apps
windowrule = opacity 1 1, initialClass:^(chrome-youtube.*-Default)$ # Youtube
windowrule = opacity 1 1, class:^(zoom|vlc|org.kde.kdenlive|com.obsproject.Studio)$
windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$
windowrule = opacity 1 1, initialTitle:^(youtube.com_/)$ # Youtube
windowrule = opacity 1 1, class:^(zoom|vlc|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta)$
windowrule = opacity 1 1, class:^(com.libretro.RetroArch|steam)$
# Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

View File

@ -18,6 +18,7 @@ git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global pull.rebase true
git config --global init.defaultBranch master
# Set identification from install inputs
if [[ -n "${OMARCHY_USER_NAME//[[:space:]]/}" ]]; then

View File

@ -1,5 +1,5 @@
# Turn on bluetooth by default
sudo systemctl enable --now bluetooth.service
# Install bluetooth controls
yay -S --noconfirm --needed blueberry
# Turn on bluetooth by default
sudo systemctl enable --now bluetooth.service

82
install/nvidia.sh Normal file
View File

@ -0,0 +1,82 @@
# ==============================================================================
# Hyprland NVIDIA Setup Script for Arch Linux
# ==============================================================================
# This script automates the installation and configuration of NVIDIA drivers
# for use with Hyprland on Arch Linux, following the official Hyprland wiki.
#
# Author: https://github.com/Kn0ax
#
# ==============================================================================
# --- GPU Detection ---
if [ -n "$(lspci | grep -i 'nvidia')" ]; then
# --- Driver Selection ---
# Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules
if echo "$gpu_info" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then
NVIDIA_DRIVER_PACKAGE="nvidia-open-dkms"
else
NVIDIA_DRIVER_PACKAGE="nvidia-dkms"
fi
# Check which kernel is installed and set appropriate headers package
KERNEL_HEADERS="linux-headers" # Default
if pacman -Q linux-zen &>/dev/null; then
KERNEL_HEADERS="linux-zen-headers"
elif pacman -Q linux-lts &>/dev/null; then
KERNEL_HEADERS="linux-lts-headers"
elif pacman -Q linux-hardened &>/dev/null; then
KERNEL_HEADERS="linux-hardened-headers"
fi
# Enable multilib repository for 32-bit libraries
if ! grep -q "^\[multilib\]" /etc/pacman.conf; then
sudo sed -i '/^#\[multilib\]/,/^#Include/ s/^#//' /etc/pacman.conf
fi
# Install packages
PACKAGES_TO_INSTALL=(
"${KERNEL_HEADERS}"
"${NVIDIA_DRIVER_PACKAGE}"
"nvidia-utils"
"lib32-nvidia-utils"
"egl-wayland"
"libva-nvidia-driver" # For VA-API hardware acceleration
"qt5-wayland"
"qt6-wayland"
)
yay -Syu --needed --noconfirm "${PACKAGES_TO_INSTALL[@]}"
# Configure modprobe for early KMS
echo "options nvidia_drm modeset=1" | sudo tee /etc/modprobe.d/nvidia.conf >/dev/null
# Configure mkinitcpio for early loading
MKINITCPIO_CONF="/etc/mkinitcpio.conf"
# Define modules
NVIDIA_MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm"
# Create backup
sudo cp "$MKINITCPIO_CONF" "${MKINITCPIO_CONF}.backup"
# Remove any old nvidia modules to prevent duplicates
sudo sed -i -E 's/ nvidia_drm//g; s/ nvidia_uvm//g; s/ nvidia_modeset//g; s/ nvidia//g;' "$MKINITCPIO_CONF"
# Add the new modules at the start of the MODULES array
sudo sed -i -E "s/^(MODULES=\\()/\\1${NVIDIA_MODULES} /" "$MKINITCPIO_CONF"
# Clean up potential double spaces
sudo sed -i -E 's/ +/ /g' "$MKINITCPIO_CONF"
sudo mkinitcpio -P
# Add NVIDIA environment variables to hyprland.conf
HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf"
if [ -f "$HYPRLAND_CONF" ]; then
cat >>"$HYPRLAND_CONF" <<'EOF'
# NVIDIA environment variables
env = NVD_BACKEND,direct
env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
EOF
fi
fi

View File

@ -1,3 +1,5 @@
# Add missing installation of bat
echo "Add missing installation of bat (used by the ff alias)"
yay -S --noconfirm --needed bat
if ! command -v bat &>/dev/null; then
# Add missing installation of bat
echo "Add missing installation of bat (used by the ff alias)"
yay -S --noconfirm --needed bat
fi

3
migrations/1751225707.sh Normal file
View File

@ -0,0 +1,3 @@
echo "Fixing persistent workspaces in waybar config"
sed -i 's/"persistent_workspaces":/"persistent-workspaces":/' ~/.config/waybar/config
pkill -SIGUSR2 waybar