Merge branch 'dev' into defer/kernel-modules-hook
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
echo "Update terminal scrolltouchpad setting to Hyprland 0.53 style"
|
||||
|
||||
if grep -q "scrolltouchpad" ~/.config/hypr/input.conf; then
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)$/windowrule = match:class (\2), scroll_touchpad \1/' ~/.config/hypr/input.conf
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.conf
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), tag:terminal$/windowrule = match:class (Alacritty|kitty), scroll_touchpad 1.5\nwindowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2/' ~/.config/hypr/input.conf
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)\s*$/windowrule = match:class (\2), scroll_touchpad \1/' ~/.config/hypr/input.conf
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)\s*$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.conf
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), tag:terminal\s*$/windowrule = match:class (Alacritty|kitty), scroll_touchpad 1.5\nwindowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2/' ~/.config/hypr/input.conf
|
||||
fi
|
||||
|
||||
# Ensure we restart to pair new Hyprland settings with new version
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
echo "Add icon for headset audio profile in Waybar"
|
||||
|
||||
if ! grep -q '"headset": ""' "$HOME/.config/waybar/config.jsonc"; then
|
||||
sed -i '
|
||||
/"pulseaudio": {/,/^[ ]*}/{
|
||||
/"format-icons": {/,/^[ ]*}/{
|
||||
/"default":/i\
|
||||
\ "headset": "",
|
||||
}
|
||||
}
|
||||
' "$HOME/.config/waybar/config.jsonc"
|
||||
|
||||
omarchy-restart-waybar
|
||||
fi
|
||||
@@ -0,0 +1,19 @@
|
||||
echo "Migrate legacy mobile NVIDIA GPUs to nvidia-580xx driver (if needed)"
|
||||
|
||||
# Only migrate MX1xx, 2xx or 3xx (Pascal/Maxwell)
|
||||
NVIDIA="$(lspci | grep -i 'nvidia')"
|
||||
if echo "$NVIDIA" | grep -qE "MX1|MX2|MX3"; then
|
||||
if ! pacman -Qq | grep -qE '^linux(-[a-z0-9]+)?-headers$'; then
|
||||
echo "Error: no linux headers package installed (required for DKMS drivers). Please install the appropriate headers and re-run this migration."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Piping yes to override existing packages
|
||||
yes | sudo pacman -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils
|
||||
|
||||
# Verify packages were installed
|
||||
if ! pacman -Qq nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils &>/dev/null; then
|
||||
echo "Error: NVIDIA 580xx driver packages failed to install"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
@@ -0,0 +1,8 @@
|
||||
echo "Fix microphone gain and audio mixing on Asus ROG laptops"
|
||||
|
||||
source "$OMARCHY_PATH/install/config/hardware/fix-asus-rog-mic.sh"
|
||||
source "$OMARCHY_PATH/install/config/hardware/fix-asus-rog-audio-mixer.sh"
|
||||
|
||||
if omarchy-hw-asus-rog; then
|
||||
omarchy-restart-pipewire
|
||||
fi
|
||||
@@ -0,0 +1,4 @@
|
||||
echo "Enable auto-pasting for the emoji picker"
|
||||
|
||||
omarchy-refresh-config elephant/symbols.toml
|
||||
omarchy-restart-walker
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Add nautilus-python package for 'Open in Ghostty' shortcut in Nautilus"
|
||||
|
||||
omarchy-pkg-add nautilus-python
|
||||
@@ -0,0 +1,10 @@
|
||||
echo "Switch back to mainline chromium now that it supports full live themeing"
|
||||
|
||||
if omarchy-pkg-present omarchy-chromium; then
|
||||
if gum confirm "Ready to switch to mainstream chromium? (Will close Chromium + reset settings)"; then
|
||||
pkill -x chromium
|
||||
omarchy-pkg-drop omarchy-chromium
|
||||
omarchy-pkg-add chromium
|
||||
omarchy-theme-set-browser
|
||||
fi
|
||||
fi
|
||||
@@ -0,0 +1,6 @@
|
||||
echo "Add SUPER+ALT+SHIFT+F shortcut to open nautilus in cwd"
|
||||
|
||||
# Add the new CWD binding if it doesn't exist
|
||||
if ! grep -q "SUPER ALT SHIFT, F" ~/.config/hypr/bindings.conf; then
|
||||
sed -i '/bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window/a bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)"' ~/.config/hypr/bindings.conf
|
||||
fi
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Set power profile based on source switching (AC or Battery)"
|
||||
|
||||
source $OMARCHY_PATH/install/config/powerprofilesctl-rules.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Turn off opencode's own auto-update feature (we rely on pacman)"
|
||||
|
||||
omarchy-refresh-config opencode/opencode.json
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Open directories in file manager using the shell open command"
|
||||
|
||||
xdg-mime default org.gnome.Nautilus.desktop inode/directory
|
||||
@@ -0,0 +1,6 @@
|
||||
echo "Improve audio controls icon for default selection"
|
||||
|
||||
if [[ ! -f ~/.config/wiremix/wiremix.toml ]]; then
|
||||
mkdir -p ~/.config/wiremix
|
||||
cp -f $OMARCHY_PATH/config/wiremix/wiremix.toml ~/.config/wiremix/
|
||||
fi
|
||||
@@ -0,0 +1,32 @@
|
||||
echo "Fix NVIDIA environment variables for Maxwell/Pascal/Volta GPUs"
|
||||
|
||||
# Detect if user has Maxwell/Pascal/Volta GPU (pre-Turing cards without GSP firmware)
|
||||
# Maxwell (GTX 9xx), Pascal (GT/GTX 10xx, Quadro P, MX series), Volta (Titan V, Tesla V100, Quadro GV100)
|
||||
NVIDIA="$(lspci | grep -i 'nvidia')"
|
||||
if echo "$NVIDIA" | grep -qE "GTX (9[0-9]{2}|10[0-9]{2})|GT 10[0-9]{2}|Quadro [PM][0-9]{3,4}|Quadro GV100|MX *[0-9]+|Titan (X|Xp|V)|Tesla V100"; then
|
||||
ENVS_CONF="$HOME/.config/hypr/envs.conf"
|
||||
|
||||
if [ -f "$ENVS_CONF" ]; then
|
||||
# Check if file contains problematic variables
|
||||
if grep -qE "env = (NVD_BACKEND,direct|LIBVA_DRIVER_NAME,nvidia)" "$ENVS_CONF"; then
|
||||
echo "Removing incompatible NVIDIA environment variables for legacy GPU..."
|
||||
|
||||
# Create backup
|
||||
cp "$ENVS_CONF" "$ENVS_CONF.bak.$(date +%s)"
|
||||
|
||||
# Remove all NVIDIA env lines and section headers (we re-add the correct ones below)
|
||||
sed -i '/^env = \(NVD_BACKEND\|LIBVA_DRIVER_NAME\|__GLX_VENDOR_LIBRARY_NAME\),/d; /^# NVIDIA/d' "$ENVS_CONF"
|
||||
|
||||
# Add correct environment variables for legacy GPUs
|
||||
cat >>"$ENVS_CONF" <<'EOF'
|
||||
|
||||
# NVIDIA (Maxwell/Pascal/Volta without GSP firmware)
|
||||
env = NVD_BACKEND,egl
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
EOF
|
||||
|
||||
echo "NVIDIA environment variables updated. A backup was saved to $ENVS_CONF.bak.*"
|
||||
echo "Please restart Hyprland for changes to take effect."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -0,0 +1,5 @@
|
||||
echo "Disable fingerprint in hyprlock if fingerprint auth is not configured"
|
||||
|
||||
if omarchy-cmd-missing fprintd-list || ! fprintd-list "$USER" 2>/dev/null | grep -q "finger"; then
|
||||
sed -i 's/fingerprint:enabled = .*/fingerprint:enabled = false/' ~/.config/hypr/hyprlock.conf
|
||||
fi
|
||||
@@ -0,0 +1,5 @@
|
||||
echo "Add Super+Shift+Return binding for browser"
|
||||
|
||||
if [[ -f ~/.config/hypr/bindings.conf ]] && ! grep -q "SUPER SHIFT, RETURN.*Browser" ~/.config/hypr/bindings.conf; then
|
||||
sed -i '/^bindd = SUPER, RETURN, Terminal/a bindd = SUPER SHIFT, RETURN, Browser, exec, omarchy-launch-browser' ~/.config/hypr/bindings.conf
|
||||
fi
|
||||
@@ -0,0 +1,6 @@
|
||||
echo "Ensure walker service is restarted if it's killed or crashes"
|
||||
|
||||
mkdir -p ~/.config/systemd/user/app-walker@autostart.service.d/
|
||||
cp $OMARCHY_PATH/default/walker/restart.conf ~/.config/systemd/user/app-walker@autostart.service.d/restart.conf
|
||||
systemctl --user daemon-reload
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
echo "Use interactive background selector menu"
|
||||
|
||||
mkdir -p ~/.config/elephant/menus
|
||||
ln -snf $OMARCHY_PATH/default/elephant/omarchy_background_selector.lua ~/.config/elephant/menus/omarchy_background_selector.lua
|
||||
omarchy-restart-walker
|
||||
@@ -0,0 +1,7 @@
|
||||
echo "Add async-backend = epoll to ghostty config to fix high IO pressure"
|
||||
|
||||
if [[ -f ~/.config/ghostty/config ]] && ! grep -q "^async-backend" ~/.config/ghostty/config; then
|
||||
echo "" >> ~/.config/ghostty/config
|
||||
echo "# Fix general slowness on hyprland (https://github.com/ghostty-org/ghostty/discussions/3224)" >> ~/.config/ghostty/config
|
||||
echo "async-backend = epoll" >> ~/.config/ghostty/config
|
||||
fi
|
||||
@@ -0,0 +1,4 @@
|
||||
echo "Install Framework 16 keyboard RGB support"
|
||||
|
||||
source $OMARCHY_PATH/install/packaging/framework16.sh
|
||||
source $OMARCHY_PATH/install/config/hardware/framework16-qmk-hid.sh
|
||||
@@ -0,0 +1,9 @@
|
||||
echo "Add Tmux as an option with themed styling"
|
||||
|
||||
omarchy-pkg-add tmux
|
||||
|
||||
if [[ ! -f ~/.config/tmux/tmux.conf ]]; then
|
||||
mkdir -p ~/.config/tmux
|
||||
cp $OMARCHY_PATH/config/tmux/tmux.conf ~/.config/tmux/tmux.conf
|
||||
omarchy-theme-refresh
|
||||
fi
|
||||
@@ -0,0 +1,5 @@
|
||||
echo "Unbind ctrl+shift+page_up/page_down in Ghostty so it doesn't interfere with tmux keybindings"
|
||||
|
||||
if [[ -f ~/.config/ghostty/config ]] && ! grep -q "keybind = ctrl+shift+page_up=" ~/.config/ghostty/config; then
|
||||
sed -i '/# Keyboard bindings/a\keybind = ctrl+shift+page_up=unbind\nkeybind = ctrl+shift+page_down=unbind' ~/.config/ghostty/config
|
||||
fi
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Disable WiFi power save on AC power"
|
||||
|
||||
source $OMARCHY_PATH/install/config/wifi-powersave-rules.sh
|
||||
@@ -0,0 +1,11 @@
|
||||
echo "Add full OSC 52 support to Alacritty"
|
||||
|
||||
ALACRITTY_CONFIG=~/.config/alacritty/alacritty.toml
|
||||
|
||||
if [[ -f $ALACRITTY_CONFIG ]] && ! grep -q 'osc52' "$ALACRITTY_CONFIG"; then
|
||||
cat >> "$ALACRITTY_CONFIG" << 'EOF'
|
||||
|
||||
[terminal]
|
||||
osc52 = "CopyPaste"
|
||||
EOF
|
||||
fi
|
||||
@@ -0,0 +1,14 @@
|
||||
echo "Remove temporary Wayland color manager disabling flag from existing Chromium configs"
|
||||
|
||||
# This reverts the workaround originally added by migration 1760401344.sh
|
||||
# Remove flag and comment from chromium-flags.conf only if found
|
||||
if [[ -f ~/.config/chromium-flags.conf ]]; then
|
||||
sed -i '/--disable-features=WaylandWpColorManagerV1/d' ~/.config/chromium-flags.conf
|
||||
sed -i '/# Chromium crash workaround for Wayland color management on Hyprland/d' ~/.config/chromium-flags.conf
|
||||
fi
|
||||
|
||||
# Remove flag and comment from brave-flags.conf only if found
|
||||
if [[ -f ~/.config/brave-flags.conf ]]; then
|
||||
sed -i '/--disable-features=WaylandWpColorManagerV1/d' ~/.config/brave-flags.conf
|
||||
sed -i '/# Chromium crash workaround for Wayland color management on Hyprland/d' ~/.config/brave-flags.conf
|
||||
fi
|
||||
@@ -0,0 +1,6 @@
|
||||
echo "Switch lmstudio -> lmstudio-bin"
|
||||
|
||||
if pacman -Q lmstudio &>/dev/null; then
|
||||
omarchy-pkg-drop lmstudio
|
||||
omarchy-pkg-add lmstudio-bin
|
||||
fi
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Cure Chromium crash bug caused by mixing 145 and 144 sync logs"
|
||||
|
||||
rm -rf ~/.config/chromium/Default/Sync\ Data/LevelDB/*.log
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Delay after sleep for PAM readiness before turning on display"
|
||||
|
||||
sed -i 's/after_sleep_cmd = hyprctl dispatch dpms on/after_sleep_cmd = sleep 1 \&\& hyprctl dispatch dpms on/' ~/.config/hypr/hypridle.conf
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
echo "Add idle lock indicator to Waybar"
|
||||
|
||||
STYLE_FILE=~/.config/waybar/style.css
|
||||
CONFIG_FILE=~/.config/waybar/config.jsonc
|
||||
|
||||
# Add idle-indicator to modules-center if not present
|
||||
if ! grep -q "custom/idle-indicator" "$CONFIG_FILE"; then
|
||||
sed -i 's/"custom\/screenrecording-indicator"]/"custom\/screenrecording-indicator", "custom\/idle-indicator"]/' "$CONFIG_FILE"
|
||||
|
||||
sed -i '/"tray": {/i\ "custom/idle-indicator": {\n "on-click": "omarchy-toggle-idle",\n "exec": "$OMARCHY_PATH/default/waybar/indicators/idle.sh",\n "signal": 9,\n "return-type": "json"\n },' "$CONFIG_FILE"
|
||||
fi
|
||||
|
||||
# Add idle-indicator CSS if not present
|
||||
if ! grep -q "#custom-idle-indicator" "$STYLE_FILE"; then
|
||||
# Remove screenrecording-indicator from shared margin block and pair it with idle-indicator instead
|
||||
sed -i 's/^#custom-screenrecording-indicator,$//' "$STYLE_FILE"
|
||||
|
||||
# Add shared rule for both indicators and idle-indicator active state
|
||||
sed -i '/#custom-screenrecording-indicator.active {/i\#custom-screenrecording-indicator,\n#custom-idle-indicator {\n min-width: 12px;\n margin-left: 5px;\n margin-right: 0;\n font-size: 10px;\n padding-bottom: 1px;\n}\n' "$STYLE_FILE"
|
||||
|
||||
# Remove the now-duplicated properties from the standalone screenrecording block
|
||||
sed -i '/#custom-screenrecording-indicator {/,/^}/ {
|
||||
/min-width:/d
|
||||
/margin-left:/d
|
||||
/font-size:/d
|
||||
/padding-bottom:/d
|
||||
/^#custom-screenrecording-indicator {/d
|
||||
/^}$/d
|
||||
}' "$STYLE_FILE"
|
||||
|
||||
cat >> "$STYLE_FILE" << 'EOF'
|
||||
|
||||
#custom-idle-indicator.active {
|
||||
color: #a55555;
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
echo "Add notification silencing indicator to Waybar"
|
||||
|
||||
STYLE_FILE=~/.config/waybar/style.css
|
||||
CONFIG_FILE=~/.config/waybar/config.jsonc
|
||||
|
||||
# Add notification-silencing-indicator to modules-center if not present
|
||||
if ! grep -q "custom/notification-silencing-indicator" "$CONFIG_FILE"; then
|
||||
sed -i 's/"custom\/idle-indicator"]/"custom\/idle-indicator", "custom\/notification-silencing-indicator"]/' "$CONFIG_FILE"
|
||||
|
||||
sed -i '/"tray": {/i\ "custom/notification-silencing-indicator": {\n "on-click": "omarchy-toggle-notification-silencing",\n "exec": "$OMARCHY_PATH/default/waybar/indicators/notification-silencing.sh",\n "signal": 10,\n "return-type": "json"\n },' "$CONFIG_FILE"
|
||||
fi
|
||||
|
||||
# Add notification-silencing-indicator CSS if not present
|
||||
if ! grep -q "#custom-notification-silencing-indicator" "$STYLE_FILE"; then
|
||||
# Add to the shared indicator rule
|
||||
sed -i 's/#custom-idle-indicator {/#custom-idle-indicator,\n#custom-notification-silencing-indicator {/' "$STYLE_FILE"
|
||||
|
||||
# Add to the shared active color rule
|
||||
sed -i 's/#custom-idle-indicator.active {/#custom-idle-indicator.active,\n#custom-notification-silencing-indicator.active {/' "$STYLE_FILE"
|
||||
fi
|
||||
|
||||
omarchy-restart-waybar
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
echo "Increase inotify file watchers for dev tools"
|
||||
|
||||
bash $OMARCHY_PATH/install/config/increase-file-watchers.sh
|
||||
@@ -0,0 +1,9 @@
|
||||
echo "Re-run scrolltouchpad migration for configs with trailing whitespace"
|
||||
|
||||
if grep -q "scrolltouchpad" ~/.config/hypr/input.conf; then
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)\s*$/windowrule = match:class (\2), scroll_touchpad \1/' ~/.config/hypr/input.conf
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)\s*$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.conf
|
||||
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), tag:terminal\s*$/windowrule = match:class (Alacritty|kitty), scroll_touchpad 1.5\nwindowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2/' ~/.config/hypr/input.conf
|
||||
|
||||
omarchy-state set reboot-required
|
||||
fi
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
echo "Add emoji font fallback to fontconfig"
|
||||
cp $OMARCHY_PATH/config/fontconfig/fonts.conf ~/.config/fontconfig/fonts.conf
|
||||
fc-cache -f
|
||||
@@ -0,0 +1,2 @@
|
||||
echo "Turn off keyboard backlight when idle"
|
||||
cp $OMARCHY_PATH/config/hypr/hypridle.conf ~/.config/hypr/hypridle.conf
|
||||
Reference in New Issue
Block a user