Merge branch 'dev' into mkinitcpio_module_thunderbolt

This commit is contained in:
Stefan Gründel
2025-12-01 13:29:23 +01:00
436 changed files with 5208 additions and 1980 deletions

View File

@@ -4,12 +4,24 @@ export OMARCHY_PATH="$HOME/.local/share/omarchy"
export PATH="$OMARCHY_PATH/bin:$PATH"
mkdir -p "$HOME/.config/uwsm/"
omarchy-refresh-config uwsm/env
cat <<EOF | tee "$HOME/.config/uwsm/env"
export OMARCHY_PATH=$HOME/.local/share/omarchy
export PATH=$OMARCHY_PATH/bin/:$PATH
EOF
echo -e "\n\e[31mOmarchy bins have been added to PATH (and OMARCHY_PATH is now system-wide).\nYou must immediately relaunch Hyprland or most Omarchy cmds won't work.\nPlease run Omarchy > Update again after the quick relaunch is complete.\e[0m"
echo
# Ensure we have the latest repos and are ready to pull
omarchy-refresh-pacman
sudo systemctl restart systemd-timesyncd
sudo pacman -Sy # Normally not advisable, but we'll do a full -Syu before finishing
mkdir -p ~/.local/state/omarchy/migrations
gum confirm "Ready to relaunch Hyprland? (All applications will be closed)" &&
touch ~/.local/state/omarchy/migrations/1751134560.sh &&
uwsm stop
touch ~/.local/state/omarchy/migrations/1751134560.sh
# Remove old AUR packages to prevent a super lengthy build on old Omarchy installs
omarchy-pkg-drop zoom qt5-remoteobjects wf-recorder wl-screenrec
# Get rid of old AUR packages
bash $OMARCHY_PATH/migrations/1756060611.sh
touch ~/.local/state/omarchy/migrations/1756060611.sh
bash omarchy-update-perform

View File

@@ -1,9 +0,0 @@
echo "Add Omarchy Package Repository"
omarchy-refresh-pacman-mirrorlist
if ! grep -q "omarchy" /etc/pacman.conf; then
sudo sed -i '/^\[core\]/i [omarchy]\nSigLevel = Optional TrustAll\nServer = https:\/\/pkgs.omarchy.org\/$arch\n' /etc/pacman.conf
sudo systemctl restart systemd-timesyncd
sudo pacman -Syu --noconfirm
fi

4
migrations/1751134562.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Ensure all indexes and packages are up to date"
omarchy-refresh-pacman
sudo pacman -Syu --noconfirm

View File

@@ -1,4 +1,4 @@
# Turn on bluetooth service so blueberry works out the box
# Turn on bluetooth service so blueberry or bluetui works out the box
echo "Let's turn on Bluetooth service so the controls work"
if systemctl is-enabled --quiet bluetooth.service && systemctl is-active --quiet bluetooth.service; then
# Bluetooth is already enabled, nothing to change

View File

@@ -1,3 +1,4 @@
echo "Add LocalSend as new default application"
omarchy-pkg-drop localsend-bin
omarchy-pkg-add localsend

View File

@@ -1,3 +0,0 @@
echo "Install slurp + wl-screenrec for new ALT+PrintScreen screen recorder"
omarchy-pkg-add slurp wl-screenrec

View File

@@ -2,5 +2,5 @@ echo "Install swayOSD to show volume status"
if omarchy-cmd-missing swayosd-server; then
omarchy-pkg-add swayosd
setsid uwsm app -- swayosd-server &>/dev/null &
setsid uwsm-app -- swayosd-server &>/dev/null &
fi

View File

@@ -1,3 +0,0 @@
echo "Install wf-recorder for screen recording for nvidia"
omarchy-pkg-add wf-recorder

View File

@@ -5,5 +5,5 @@ if [[ ! -d ~/.config/swayosd ]]; then
cp -r ~/.local/share/omarchy/config/swayosd/* ~/.config/swayosd/
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &
setsid uwsm-app -- swayosd-server &>/dev/null &
fi

View File

@@ -1,4 +0,0 @@
echo "Update and restart Walker to resolve stuck Omarchy menu"
sudo pacman -Syu --noconfirm walker-bin
omarchy-restart-walker

View File

@@ -1,3 +0,0 @@
echo "Update Walker config to add 60s timeout such that it won't conflict with screensaver"
omarchy-refresh-walker

View File

@@ -1,3 +0,0 @@
echo "Install wf-recorder for intel based device"
omarchy-pkg-add wf-recorder

View File

@@ -1,5 +1,5 @@
echo "Use current terminal shell cwd for new terminal working directories"
if ! grep -q "working-directory" ~/.config/hypr/bindings.conf; then
sed -i '/bindd = SUPER, return, Terminal, exec, \$terminal/ s|$| --working-directory=$(omarchy-cmd-terminal-cwd)|' ~/.config/hypr/bindings.conf
sed -i '/bindd = SUPER, RETURN, Terminal, exec, \$terminal/ s|$| --working-directory=$(omarchy-cmd-terminal-cwd)|' ~/.config/hypr/bindings.conf
fi

View File

@@ -13,8 +13,6 @@ reinstall_package_opr yay-bin yay
reinstall_package_opr obsidian-bin obsidian
reinstall_package_opr localsend-bin localsend
reinstall_package_opr omarchy-chromium-bin omarchy-chromium
reinstall_package_opr walker-bin
reinstall_package_opr wl-screenrec
reinstall_package_opr python-terminaltexteffects
reinstall_package_opr tzupdate
reinstall_package_opr typora

View File

@@ -1,7 +1,4 @@
echo "Move Omarchy Package Repository after Arch core/extra/multilib and remove AUR"
sudo cp /etc/pacman.conf /etc/pacman.conf.bak
sudo sed -i '/\[omarchy\]/,+2 d' /etc/pacman.conf
sudo sed -i '/\[chaotic-aur\]/,+2 d' /etc/pacman.conf
sudo bash -c 'echo -e "\n[omarchy]\nSigLevel = Optional TrustAll\nServer = https://pkgs.omarchy.org/\$arch" >> /etc/pacman.conf'
omarchy-refresh-pacman
sudo pacman -Syu --noconfirm

View File

@@ -1,8 +0,0 @@
echo "Add eza themeing"
mkdir -p ~/.config/eza
if [ -f ~/.config/omarchy/current/theme/eza.yml ]; then
ln -snf ~/.config/omarchy/current/theme/eza.yml ~/.config/eza/theme.yml
fi

View File

@@ -1,3 +1,3 @@
echo "Use new Omarchy mirror as default"
omarchy-refresh-pacman-mirrorlist
omarchy-refresh-pacman

View File

@@ -2,6 +2,6 @@ echo "Enable mDNS resolution for existing Avahi installations"
if systemctl is-enabled avahi-daemon.service >/dev/null 2>&1; then
if ! grep -q "mdns_minimal" /etc/nsswitch.conf; then
sudo sed -i 's/^hosts:.*/hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns/' /etc/nsswitch.conf
sudo sed -i 's/^hosts:.*/hosts: mymachines mdns_minimal [NOTFOUND=return] resolve files myhostname dns/' /etc/nsswitch.conf
fi
fi

9
migrations/1757535736.sh Normal file
View File

@@ -0,0 +1,9 @@
echo "Enabling vim keys in btop"
CONFIG_FILE=~/.config/btop/btop.conf
if [[ -f $CONFIG_FILE ]]; then
if grep -q "^vim_keys = " "$CONFIG_FILE"; then
sed -i 's/^vim_keys = False/vim_keys = True/' "$CONFIG_FILE"
fi
fi

View File

@@ -2,9 +2,9 @@ echo "Switch select bindings to launch or focus mode"
if [[ -f ~/.config/hypr/bindings.conf ]]; then
sed -i '/SUPER, M, Music, exec/ c\bindd = SUPER, M, Music, exec, omarchy-launch-or-focus spotify' ~/.config/hypr/bindings.conf
sed -i '/SUPER, O, Obsidian, exec/ c\bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm app -- obsidian -disable-gpu --enable-wayland-ime"' ~/.config/hypr/bindings.conf
sed -i '/SUPER, O, Obsidian, exec/ c\bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"' ~/.config/hypr/bindings.conf
sed -i '/SUPER, G, Signal, exec/ c\bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop"' ~/.config/hypr/bindings.conf
sed -i '/SUPER, G, Signal, exec/ c\bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop"' ~/.config/hypr/bindings.conf
sed -i '/SUPER SHIFT, G, WhatsApp, exec/ c\bindd = SUPER SHIFT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/"' ~/.config/hypr/bindings.conf
sed -i '/SUPER ALT, G, Google Messages, exec/ c\bindd = SUPER ALT, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations"' ~/.config/hypr/bindings.conf
fi

View File

@@ -3,7 +3,7 @@ echo "Set \$TERMINAL and \$EDITOR in ~/.config/uwsm/default so entire system can
# Set terminal and editor default in uwsm
omarchy-refresh-config uwsm/default
omarchy-refresh-config uwsm/env
omarchy-state set relaunch-required
omarchy-state set reboot-required
# Ensure scrolltouchpad setting applies to all terminals
if grep -q "scrolltouchpad 1.5, class:Alacritty" ~/.config/hypr/input.conf; then
@@ -17,5 +17,5 @@ fi
# Use default terminal for keybinding
if grep -q "terminal = uwsm app" ~/.config/hypr/bindings.conf; then
sed -i '/terminal = uwsm app -- alacritty/ c\$terminal = uwsm app -- $TERMINAL' ~/.config/hypr/bindings.conf
sed -Ei '/terminal = uwsm[- ]app -- alacritty/ c\$terminal = uwsm-app -- $TERMINAL' ~/.config/hypr/bindings.conf
fi

55
migrations/1758107879.sh Normal file
View File

@@ -0,0 +1,55 @@
echo "Migrate to Walker 2.0.0"
NEEDS_MIGRATION=false
PACKAGES=(
"elephant"
"elephant-calc"
"elephant-clipboard"
"elephant-bluetooth"
"elephant-desktopapplications"
"elephant-files"
"elephant-menus"
"elephant-providerlist"
"elephant-runner"
"elephant-symbols"
"elephant-unicode"
"elephant-websearch"
"elephant-todo"
"walker"
"libqalculate"
)
for pkg in "${PACKAGES[@]}"; do
if ! omarchy-pkg-present "$pkg"; then
NEEDS_MIGRATION=true
break
fi
done
WALKER_MAJOR=$(walker -v 2>&1 | grep -oP '^\d+' || echo "0")
if [[ "$WALKER_MAJOR" -lt 2 ]]; then
NEEDS_MIGRATION=true
fi
# Ensure basic config is present
mkdir -p ~/.config/walker
cp -r ~/.local/share/omarchy/config/walker/* ~/.config/walker/
if $NEEDS_MIGRATION; then
kill -9 $(pgrep -x walker) 2>/dev/null || true
omarchy-pkg-drop walker-bin walker-bin-debug
omarchy-pkg-add "${PACKAGES[@]}"
source $OMARCHY_PATH/install/config/walker-elephant.sh
rm -rf ~/.config/walker/themes
omarchy-refresh-config walker/config.toml
omarchy-refresh-config elephant/calc.toml
omarchy-refresh-config elephant/desktopapplications.toml
fi
echo # Assure final success

21
migrations/1758142943.sh Normal file
View File

@@ -0,0 +1,21 @@
echo "Turn off VSCode's own auto-update feature (we rely on pacman)"
# Note: We cannot use `jq` to update settings.json because its JSONC (allows comments),
# which jq doesnt support.
VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json"
# If VSCode is installed, ensure that the "update.mode" setting is set to "none"
if omarchy-cmd-present code; then
mkdir -p "$(dirname "$VS_CODE_SETTINGS")"
if [[ ! -f "$VS_CODE_SETTINGS" ]]; then
# If settings.json doesn't exist, create it with just the update.mode setting
printf '{\n "update.mode": "none"\n}\n' > "$VS_CODE_SETTINGS"
elif ! grep -q '"update.mode"' "$VS_CODE_SETTINGS"; then
# Insert "update.mode": "none", immediately after the first "{"
# Use sed's first-match range (0,/{/) to only replace the first "{
sed -i --follow-symlinks -E '0,/\{/{s/\{/{\
"update.mode": "none",/}' "$VS_CODE_SETTINGS"
fi
fi

17
migrations/1758436991.sh Normal file
View File

@@ -0,0 +1,17 @@
echo "Fix Disk Usage and Docker TUIs"
APP_DIR="$HOME/.local/share/applications"
ICON_DIR="$APP_DIR/icons"
# Don't use omarchy-tui-remove to preserve icons
if [[ -f "$APP_DIR/Docker.desktop" ]]; then
rm "$APP_DIR/Docker.desktop"
omarchy-tui-install "Docker" "lazydocker" tile "$ICON_DIR/Docker.png"
fi
if [[ -f "$APP_DIR/Disk Usage.desktop" ]]; then
rm "$APP_DIR/Disk Usage.desktop"
omarchy-tui-install "Disk Usage" "bash -c 'dust -r; read -n 1 -s'" float "$ICON_DIR/Disk Usage.png"
fi

View File

@@ -0,0 +1,55 @@
#!/bin/bash
set -e
error_exit() {
echo -e "\033[31mERROR: Migration failed! Manual intervention required.\033[0m" >&2
echo -e "\033[31mDO NOT REBOOT - System may be in inconsistent state until the error is fixed.\033[0m" >&2
exit 1
}
trap error_exit ERR
echo "Change display manager to SDDM"
omarchy-pkg-add sddm libsecret gnome-keyring || error_exit
sudo mkdir -p /etc/sddm.conf.d
cat <<EOF | sudo tee /etc/sddm.conf.d/autologin.conf
[Autologin]
User=$USER
Session=hyprland-uwsm
[Theme]
Current=breeze
EOF
sudo systemctl disable omarchy-seamless-login.service
sudo systemctl unmask plymouth-quit-wait.service
sudo systemctl enable getty@tty1.service
sudo systemctl enable sddm.service
sudo systemctl daemon-reload
if systemctl is-enabled omarchy-seamless-login.service >/dev/null 2>&1; then
echo -e "\033[31mError: omarchy-seamless-login.service is still enabled\033[0m" >&2
error_exit
fi
if systemctl is-masked plymouth-quit-wait.service >/dev/null 2>&1; then
echo -e "\033[31mError: plymouth-quit-wait.service is still masked\033[0m" >&2
error_exit
fi
if ! systemctl is-enabled getty@tty1.service >/dev/null 2>&1; then
echo -e "\033[31mError: getty@tty1.service is not enabled\033[0m" >&2
error_exit
fi
if ! systemctl is-enabled sddm.service >/dev/null 2>&1; then
echo -e "\033[31mError: sddm.service is not enabled\033[0m" >&2
error_exit
fi
sudo rm -f /usr/local/bin/seamless-login
sudo rm -f /etc/systemd/system/plymouth-quit.service.d/wait-for-graphical.conf
sudo rm -f /etc/systemd/system/omarchy-seamless-login.service

View File

@@ -0,0 +1,38 @@
echo "Update UKI to custom named entry"
if command -v limine &>/dev/null && [[ -f /etc/default/limine ]]; then
if grep -q "^ENABLE_UKI=yes" /etc/default/limine; then
if ! grep -q "^CUSTOM_UKI_NAME=" /etc/default/limine; then
sudo sed -i '/^ENABLE_UKI=yes/a CUSTOM_UKI_NAME="omarchy"' /etc/default/limine
fi
# Remove the archinstall-created Limine entry
while IFS= read -r bootnum; do
sudo efibootmgr -b "$bootnum" -B >/dev/null 2>&1
done < <(efibootmgr | grep -E "^Boot[0-9]{4}\*? Arch Linux Limine" | sed 's/^Boot\([0-9]\{4\}\).*/\1/')
sudo limine-update
uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
if [[ -n "$uki_file" ]]; then
while IFS= read -r bootnum; do
sudo efibootmgr -b "$bootnum" -B >/dev/null 2>&1
done < <(efibootmgr | grep -E "^Boot[0-9]{4}\*? Omarchy" | sed 's/^Boot\([0-9]\{4\}\).*/\1/')
# Skip EFI entry creation on Apple hardware
if ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
sudo efibootmgr --create \
--disk "$(findmnt -n -o SOURCE /boot | sed 's/p\?[0-9]*$//')" \
--part "$(findmnt -n -o SOURCE /boot | grep -o 'p\?[0-9]*$' | sed 's/^p//')" \
--label "Omarchy" \
--loader "\\EFI\\Linux\\$uki_file"
fi
fi
else
echo "Not using UKI. Not making any changes."
fi
else
echo "Boot config is non-standard. Not making any changes."
fi

5
migrations/1758562032.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Fix Tailscale split DNS compatibility by removing [!UNAVAIL=return] from nsswitch.conf"
if grep -q '\[!UNAVAIL=return\]' /etc/nsswitch.conf; then
sudo sed -i 's/resolve \[!UNAVAIL=return\]/resolve/g' /etc/nsswitch.conf
fi

2
migrations/1758564460.sh Normal file
View File

@@ -0,0 +1,2 @@
echo "Enable fast shutdown"
source $OMARCHY_PATH/install/config/fast-shutdown.sh

3
migrations/1759093827.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Adding hidden entries for electron apps"
cp $OMARCHY_PATH/applications/hidden/electron*.desktop ~/.local/share/applications/

3
migrations/1759270604.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Update Hyprlock with better placeholder position and show all fail text"
omarchy-refresh-hyprlock

21
migrations/1759355846.sh Normal file
View File

@@ -0,0 +1,21 @@
echo "Symlink systemd-resolved to /etc/resolv.conf"
# Backup if /etc/resolv.conf was modified after system birth
system_birth=$(stat -c %W /)
resolvconf_modified=$(stat -c %Y /etc/resolv.conf)
# Run a backup if resolv.conf isn't a symlink and was modified after install
if [[ -s /etc/resolv.conf ]] && [[ ! -L /etc/resolv.conf ]] && [[ $resolvconf_modified > $system_birth ]]; then
# Backup the destination file (with timestamp) to avoid clobbering (Ex: resolv.conf.bak.1753817951)
backup_file="/etc/resolv.conf.bak.$(date +%s)"
# Create backup
sudo cp -f /etc/resolv.conf "$backup_file" 2>/dev/null
# Inform users
echo -e "\e[31mReplaced /etc/resolv.conf with symlink to systemd-resolved. \nSaved backup as ${backup_file}.\e[0m"
echo -e "\e[31mSee https://wiki.archlinux.org/title/Systemd-resolved.\e[0m"
fi
# Write the symlink
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

5
migrations/1759691413.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Correct path for sudoless asdcontrol for working Apple Display hotkeys"
if [[ $(command -v asdcontrol) == "/usr/bin/asdcontrol" ]]; then
echo "$USER ALL=(ALL) NOPASSWD: /usr/bin/asdcontrol" | sudo tee /etc/sudoers.d/asdcontrol
fi

4
migrations/1759694076.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Hide OpenJDK applications from app launcher"
cp $OMARCHY_PATH/applications/hidden/*openjdk.desktop ~/.local/share/applications/

10
migrations/1759895423.sh Normal file
View File

@@ -0,0 +1,10 @@
echo "Make shift+insert paste and ctrl+insert copy from clipboard in terminal"
# Add keybindings to Alacritty
sed -i 's/{ key = "F11", action = "ToggleFullscreen" }/{ key = "F11", action = "ToggleFullscreen" },\n{ key = "Insert", mods = "Shift", action = "Paste" },\n{ key = "Insert", mods = "Control", action = "Copy" }/' ~/.config/alacritty/alacritty.toml
# Add keybindings to Ghostty
sed -i '/keybind = f11=toggle_fullscreen/a keybind = shift+insert=paste_from_clipboard\nkeybind = control+insert=copy_to_clipboard' ~/.config/ghostty/config
# Add keybindings to Kitty
sed -i '/map F11 toggle_fullscreen/a map ctrl+insert copy_to_clipboard' ~/.config/kitty/kitty.conf

3
migrations/1759913695.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Fix NVMe suspend issues on MacBook models"
bash $OMARCHY_PATH/install/config/hardware/fix-apple-suspend-nvme.sh

5
migrations/1760144906.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Change omarchy-screenrecord to use gpu-screen-recorder"
omarchy-pkg-drop wf-recorder wl-screenrec
# Add slurp in case it hadn't been picked up from an old migration
omarchy-pkg-add slurp gpu-screen-recorder

5
migrations/1760301290.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Add the new Flexoki Light theme"
if [[ ! -L ~/.config/omarchy/themes/flexoki-light ]]; then
ln -nfs ~/.local/share/omarchy/themes/flexoki-light ~/.config/omarchy/themes/
fi

9
migrations/1760304963.sh Normal file
View File

@@ -0,0 +1,9 @@
echo "Add a default keyring for gnome-keyring that unlocks on login"
if [ -f "$HOME/.local/share/keyrings/Default_keyring.keyring" ] || [ -f "$HOME/.local/share/keyrings/default" ]; then
if gum confirm "Do you want to replace existing keyring with one that's auto-unlocked on login?"; then
bash "$OMARCHY_PATH/install/login/default-keyring.sh"
fi
else
bash "$OMARCHY_PATH/install/login/default-keyring.sh"
fi

15
migrations/1760401344.sh Normal file
View File

@@ -0,0 +1,15 @@
echo "Add Chromium crash workaround flag for Hyprland to existing configs"
# Add flag to chromium-flags.conf if it exists and doesn't already have it
if [[ -f ~/.config/chromium-flags.conf ]]; then
if ! grep -qF -- "--disable-features=WaylandWpColorManagerV1" ~/.config/chromium-flags.conf; then
sed -i '$a # Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957\n--disable-features=WaylandWpColorManagerV1' ~/.config/chromium-flags.conf
fi
fi
# Add flag to brave-flags.conf if it exists and doesn't already have it
if [[ -f ~/.config/brave-flags.conf ]]; then
if ! grep -qF -- "--disable-features=WaylandWpColorManagerV1" ~/.config/brave-flags.conf; then
sed -i '$a # Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957\n--disable-features=WaylandWpColorManagerV1' ~/.config/brave-flags.conf
fi
fi

6
migrations/1760434895.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Change to omarchy-nvim package"
omarchy-pkg-drop omarchy-lazyvim
omarchy-pkg-add omarchy-nvim
# Will trigger to overwrite configs or not to pickup new hot-reload themes
omarchy-nvim-setup

3
migrations/1760441237.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Install Omarchy theme on Obsidian vaults"
omarchy-theme-set-obsidian

26
migrations/1760462260.sh Normal file
View File

@@ -0,0 +1,26 @@
echo -e "Offer new Omarchy hotkeys\n"
cat <<EOF
* Add SUPER + C / V for unified clipboard in both terminal and other apps
* Add SUPER + CTRL + V for clipboard manager
* Move fullscreen from F11 to SUPER + F
* Keep terminal on SUPER + RETURN
* Move app keys from SUPER + [LETTER] to SHIFT + SUPER + [LETTER]
* Move toggling tiling/floating to SUPER + T
EOF
echo -e "\nSwitching to new hotkeys will change your existing bindings.\nThe old ones will be backed up as ~/.config/hypr/bindings.conf.bak\n"
if gum confirm "Switch to new hotkeys?"; then
cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak
sed -i 's/SUPER SHIFT,/SUPER SHIFT ALT,/g' ~/.config/hypr/bindings.conf
sed -i 's/SUPER,/SUPER SHIFT,/g' ~/.config/hypr/bindings.conf
sed -i 's/SUPER SHIFT, return, Terminal/SUPER, RETURN, Terminal/gI' ~/.config/hypr/bindings.conf
sed -i 's/SUPER ALT,/SUPER SHIFT ALT,/g' ~/.config/hypr/bindings.conf
sed -i 's/SUPER CTRL,/SUPER SHIFT CTRL,/g' ~/.config/hypr/bindings.conf
sed -i 's/SUPER SHIFT ALT, G, Google Messages/SUPER SHIFT CTRL, G, Google Messages/g' ~/.config/hypr/bindings.conf
sed -i 's|source = ~/.local/share/omarchy/default/hypr/bindings/tiling\.conf|source = ~/.local/share/omarchy/default/hypr/bindings/clipboard.conf\
source = ~/.local/share/omarchy/default/hypr/bindings/tiling-v2.conf|' ~/.config/hypr/hyprland.conf
fi

5
migrations/1760471009.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Copy over updated application icons"
cp -f $OMARCHY_PATH/applications/icons/GitHub.png ~/.local/share/applications/icons/
cp -f $OMARCHY_PATH/applications/icons/ChatGPT.png ~/.local/share/applications/icons/
cp -f $OMARCHY_PATH/applications/icons/X.png ~/.local/share/applications/icons/

3
migrations/1760684828.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Remove any active eza theme"
rm -f ~/.config/eza/theme.yml

3
migrations/1760693222.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Use explicit timezone selector when right-clicking on clock"
sed -i 's/omarchy-cmd-tzupdate/omarchy-launch-floating-terminal-with-presentation omarchy-tz-select/g' ~/.config/waybar/config.jsonc

6
migrations/1760724931.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Change to openai-codex instead of openai-codex-bin"
if omarchy-pkg-present openai-codex-bin; then
omarchy-pkg-drop openai-codex-bin
omarchy-pkg-add openai-codex
fi

23
migrations/1760724934.sh Normal file
View File

@@ -0,0 +1,23 @@
# Handles changes since 3.1.0-RC
echo "Add shift+insert for kitty"
# Add shift+insert paste keybinding to kitty.conf if it doesn't exist
KITTY_CONF="$HOME/.config/kitty/kitty.conf"
if ! grep -q "map shift+insert paste_from_clipboard" "$KITTY_CONF"; then
sed -i '/map ctrl+insert copy_to_clipboard/a map shift+insert paste_from_clipboard' "$KITTY_CONF"
fi
echo "Copy hooks examples"
cp -r $OMARCHY_PATH/config/omarchy/* $HOME/.config/omarchy/
echo "Add packages for updated omarchy-cmd-screenshot"
omarchy-pkg-add grim slurp wayfreeze-git
echo "Add nfs support by default to Nautilus"
omarchy-pkg-add gvfs-nfs
if [ ! -d "$HOME/.config/nvim" ]; then
echo "Add missing nvim config"
omarchy-nvim-setup
fi

3
migrations/1760730253.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Install Aether for Omarchy theme creation"
omarchy-pkg-add aether

3
migrations/1760787158.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Update Waybar styles for better spacing between icons"
omarchy-refresh-config waybar/style.css

21
migrations/1760974946.sh Normal file
View File

@@ -0,0 +1,21 @@
echo "Turn off VSCode's own auto-update feature (we rely on pacman)"
# Note: We cannot use `jq` to update settings.json because its JSONC (allows comments),
# which jq doesnt support.
VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json"
# If VSCode is installed, ensure that the "update.mode" setting is set to "none"
if omarchy-cmd-present code; then
mkdir -p "$(dirname "$VS_CODE_SETTINGS")"
if [[ ! -f "$VS_CODE_SETTINGS" ]]; then
# If settings.json doesn't exist, create it with just the update.mode setting
printf '{\n "update.mode": "none"\n}\n' > "$VS_CODE_SETTINGS"
elif ! grep -q '"update.mode"' "$VS_CODE_SETTINGS"; then
# Insert "update.mode": "none", immediately after the first "{"
# Use sed's first-match range (0,/{/) to only replace the first "{
sed -i --follow-symlinks -E '0,/\{/{s/\{/{\
"update.mode": "none",/}' "$VS_CODE_SETTINGS"
fi
fi

7
migrations/1761180745.sh Normal file
View File

@@ -0,0 +1,7 @@
echo "Ensure interactive shell check is at the top of .bashrc"
BASHRC="$HOME/.bashrc"
if [ -f "$BASHRC" ] && ! grep -q '\[\[ $- != \*i\* \]\] && return' "$BASHRC"; then
sed -i '1i# If not running interactively, don'\''t do anything (leave this at the top of this file)\n[[ $- != *i* ]] && return\n' "$BASHRC"
fi

3
migrations/1761181166.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Change to pinned version of wayfreeze"
omarchy-pkg-drop wayfreeze-git
omarchy-pkg-add wayfreeze

33
migrations/1761241493.sh Normal file
View File

@@ -0,0 +1,33 @@
echo "Cleanup extra UKI if needed to prevent errors"
if [[ -f /boot/EFI/linux/omarchy_linux.efi ]] && [[ -f /boot/EFI/linux/$(cat /etc/machine-id)_linux.efi ]]; then
sudo rm -f /boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi
if grep -q "/boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi" /boot/limine.conf; then
echo -e "Resetting limine config\n(you may need to re-add other entries via sudo limine-update)"
sudo mv /boot/limine.conf /boot/limine.conf.bak
sudo tee /boot/limine.conf <<EOF >/dev/null
### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md
#timeout: 3
default_entry: 2
interface_branding: Omarchy Bootloader
interface_branding_color: 2
hash_mismatch_panic: no
term_background: 1a1b26
backdrop: 1a1b26
# Terminal colors (Tokyo Night palette)
term_palette: 15161e;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;a9b1d6
term_palette_bright: 414868;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;c0caf5
# Text colors
term_foreground: c0caf5
term_foreground_bright: c0caf5
term_background_bright: 24283b
EOF
sudo limine-update
sudo limine-snapper-sync
fi
fi

2
migrations/1761247569.sh Normal file
View File

@@ -0,0 +1,2 @@
echo "Install expac and inxi for omarchy-debug"
omarchy-pkg-add expac inxi

7
migrations/1761269603.sh Normal file
View File

@@ -0,0 +1,7 @@
echo "Add right-click terminal action to waybar omarchy menu icon"
WAYBAR_CONFIG="$HOME/.config/waybar/config.jsonc"
if [[ -f "$WAYBAR_CONFIG" ]] && ! grep -A5 '"custom/omarchy"' "$WAYBAR_CONFIG" | grep -q '"on-click-right"'; then
sed -i '/"on-click": "omarchy-menu",/a\ "on-click-right": "omarchy-launch-terminal",' "$WAYBAR_CONFIG"
fi

5
migrations/1761274806.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Ensure node is available via mise (for treesitter cli)"
if omarchy-cmd-missing node; then
mise use -g node@latest
fi

11
migrations/1761274980.sh Normal file
View File

@@ -0,0 +1,11 @@
echo "Migrate to proper packages for localsend and asdcontrol"
if omarchy-pkg-present localsend-bin; then
omarchy-pkg-drop localsend-bin
omarchy-pkg-add localsend
fi
if omarchy-pkg-present asdcontrol-git; then
omarchy-pkg-drop asdcontrol-git
omarchy-pkg-add asdcontrol
fi

9
migrations/1761569743.sh Normal file
View File

@@ -0,0 +1,9 @@
echo "Add default Ctrl+P binding for imv; backup existing config if present"
if [ -f ~/.config/imv/config ]; then
cp ~/.config/imv/config ~/.config/imv/config.bak.$(date +%s)
else
mkdir -p ~/.config/imv
fi
cp ~/.local/share/omarchy/config/imv/config ~/.config/imv/config

3
migrations/1761585764.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Disable Nvim news alerts box"
cp /usr/share/omarchy-nvim/config/lua/plugins/disable-news-alert.lua ~/.config/nvim/lua/plugins/disable-news-alert.lua

6
migrations/1761638377.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Turn off fcitx5 clipboard that is interferring with other applications"
mkdir -p ~/.config/fcitx5/conf
cp $OMARCHY_PATH/config/fcitx5/conf/clipboard.conf ~/.config/fcitx5/conf/
omarchy-restart-xcompose

21
migrations/1761758552.sh Normal file
View File

@@ -0,0 +1,21 @@
echo "Set nvim as default via xdg-mime"
rm ~/.local/share/applications/nvim.desktop || true
xdg-mime default nvim.desktop text/plain
xdg-mime default nvim.desktop text/english
xdg-mime default nvim.desktop text/x-makefile
xdg-mime default nvim.desktop text/x-c++hdr
xdg-mime default nvim.desktop text/x-c++src
xdg-mime default nvim.desktop text/x-chdr
xdg-mime default nvim.desktop text/x-csrc
xdg-mime default nvim.desktop text/x-java
xdg-mime default nvim.desktop text/x-moc
xdg-mime default nvim.desktop text/x-pascal
xdg-mime default nvim.desktop text/x-tcl
xdg-mime default nvim.desktop text/x-tex
xdg-mime default nvim.desktop application/x-shellscript
xdg-mime default nvim.desktop text/x-c
xdg-mime default nvim.desktop text/x-c++
xdg-mime default nvim.desktop application/xml
xdg-mime default nvim.desktop text/xml

3
migrations/1761897226.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Install Copy URL extension for Brave"
omarchy-refresh-config brave-flags.conf

58
migrations/1762121828.sh Normal file
View File

@@ -0,0 +1,58 @@
echo "Setting up xdg-terminal-exec for gtk-launch terminal support"
# Solve for hardcoded glib terminals
# https://github.com/basecamp/omarchy/issues/1852
# Remove old symlink if it exists -- if someone ran the previous migration early
if [ -L /usr/local/bin/xdg-terminal-exec ]; then
sudo rm /usr/local/bin/xdg-terminal-exec
fi
omarchy-pkg-add xdg-terminal-exec
# Set up xdg-terminals.list based on current $TERMINAL
if [ -n "$TERMINAL" ]; then
case "$TERMINAL" in
alacritty) desktop_id="Alacritty.desktop" ;;
ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;;
kitty) desktop_id="kitty.desktop" ;;
esac
if [ -n "$desktop_id" ]; then
mkdir -p ~/.config
cat > ~/.config/xdg-terminals.list << EOF
# Terminal emulator preference order for xdg-terminal-exec
# The first found and valid terminal will be used
$desktop_id
EOF
fi
fi
# Copy custom desktop entries with proper X-TerminalArg* keys
if command -v alacritty > /dev/null 2>&1; then
cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/
fi
# Update hyprland bindings to use xdg-terminal-exec
sed -i 's/\$terminal = uwsm-app -- \$TERMINAL/$terminal = uwsm-app -- xdg-terminal-exec/' ~/.config/hypr/bindings.conf
# Update --working-directory to --dir for xdg-terminal-exec
sed -i 's/--working-directory=/--dir=/g' ~/.config/hypr/bindings.conf
# Update TERMINAL variable in uwsm config
sed -i 's/export TERMINAL=.*/export TERMINAL=xdg-terminal-exec/' ~/.config/uwsm/default
# Update waybar config to use xdg-terminal-exec
waybar_config=~/.config/waybar/config.jsonc
if [ -f "$waybar_config" ]; then
sed -i 's|"on-click-right": "omarchy-launch-terminal"|"on-click-right": "xdg-terminal-exec"|' "$waybar_config"
sed -i 's|"on-click": "\$TERMINAL -e btop"|"on-click": "xdg-terminal-exec btop"|' "$waybar_config"
sed -i 's|"on-click": "\$TERMINAL --class=Wiremix -e wiremix"|"on-click": "xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix"|' "$waybar_config"
omarchy-state set restart-waybar-required
fi
# Update hyprland window rules to use DNS-format class names
system_conf=~/.config/hypr/apps/system.conf
if [ -f "$system_conf" ]; then
if grep -q 'class:(.*|Impala|' "$system_conf" || grep -q 'class:(.*|Wiremix|' "$system_conf" || grep -q '|Omarchy|' "$system_conf"; then
sed -i 's/\bImpala\b/com.omarchy.Impala/g; s/\bWiremix\b/com.omarchy.Wiremix/g; s/|Omarchy|/|com.omarchy.Omarchy|/g' "$system_conf"
fi
fi

2
migrations/1762150269.sh Normal file
View File

@@ -0,0 +1,2 @@
echo "Install omarchy-walker meta package"
omarchy-pkg-add omarchy-walker

5
migrations/1762352101.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Increase Walker limit on how many entries can be shown to 256"
if ! grep -q "max_results" ~/.config/walker/config.toml; then
sed -i '/^\[providers\]$/a max_results = 256' ~/.config/walker/config.toml
fi

8
migrations/1762417304.sh Normal file
View File

@@ -0,0 +1,8 @@
echo "Replace bluetooth GUI with TUI"
omarchy-pkg-add bluetui
omarchy-pkg-drop blueberry
if ! grep -q "omarchy-launch-bluetooth" ~/.config/waybar/config.jsonc; then
sed -i 's/blueberry/omarchy-launch-bluetooth/' ~/.config/waybar/config.jsonc
fi

12
migrations/1762446739.sh Normal file
View File

@@ -0,0 +1,12 @@
echo "Remove alternative limine.conf files"
if omarchy-cmd-present limine; then
if [ ! -f /boot/limine.conf ]; then
echo "Error: /boot/limine.conf does not exist. Do not reboot without resolving this issue!"
exit 1
fi
sudo rm -f /boot/EFI/limine/limine.conf
sudo rm -f /boot/EFI/BOOT/limine.conf
sudo rm -f /boot/limine/limine.conf
fi

12
migrations/1762684663.sh Normal file
View File

@@ -0,0 +1,12 @@
echo "Update hyprlock font to match current system font"
font_name=$(omarchy-font-current)
if [[ -n "$font_name" ]]; then
cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s)
echo "Found font '$font_name', updating hyprlock"
sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf
else
echo "No font found, skipping migration"
fi

12
migrations/1762685081.sh Normal file
View File

@@ -0,0 +1,12 @@
echo "Update hyprlock placeholder text based on fingerprint setup status"
cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s)
# Check if fprintd is installed and has enrolled fingerprints
if command -v fprintd-list &>/dev/null && fprintd-list "$USER" 2>/dev/null | grep -q "Fingerprints for user"; then
echo "Fingerprint detected, updating placeholder text with fingerprint icon"
sed -i 's/placeholder_text = .*/placeholder_text = <span> Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf
else
echo "No fingerprint enrolled, updating placeholder text without fingerprint icon"
sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf
fi

3
migrations/1762711005.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Add usage package to provide tab completion for mise"
omarchy-pkg-add usage

3
migrations/1762768186.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Ensure config/uwsm/default uses generic terminal exec"
sed -i 's/export TERMINAL=.*/export TERMINAL=xdg-terminal-exec/' ~/.config/uwsm/default

5
migrations/1762770442.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Slow down Ghostty mouse scrolling to match Alacritty"
if ! grep -q "mouse-scroll-multiplier" ~/.config/ghostty/config; then
echo -e "\n# Slowdown mouse scrolling\nmouse-scroll-multiplier = 0.95" >> ~/.config/ghostty/config
fi

3
migrations/1762770815.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Pull packages from stable Arch mirror"
omarchy-refresh-pacman

4
migrations/1762781907.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Add try command for managing quick code experiments"
omarchy-pkg-add ruby tobi-try
mkdir -p ~/Work/tries

4
migrations/1762802472.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Update imv config with new keybindings"
mkdir -p ~/.config/imv
cp $OMARCHY_PATH/config/imv/config ~/.config/imv/

10
migrations/1762873545.sh Normal file
View File

@@ -0,0 +1,10 @@
echo "Switch Elephant to run as a systemd service and walker to be autostarted on login"
pkill elephant
elephant service enable
systemctl --user start elephant.service
pkill walker
mkdir -p ~/.config/autostart/
cp $OMARCHY_PATH/autostart/walker.desktop ~/.config/autostart/
setsid walker --gapplication-service &

8
migrations/1763386443.sh Normal file
View File

@@ -0,0 +1,8 @@
echo "Uniquely identify terminal apps with custom app-ids using omarchy-launch-tui"
# Replace terminal -e calls with omarchy-launch-tui in bindings
sed -i 's/\$terminal -e \([^ ]*\)/omarchy-launch-tui \1/g' ~/.config/hypr/bindings.conf
# Update waybar to use omarchy-launch-or-focus with omarchy-launch-tui for TUI apps
sed -i 's|xdg-terminal-exec btop|omarchy-launch-or-focus-tui btop|' ~/.config/waybar/config.jsonc
sed -i 's|xdg-terminal-exec --app-id=com\.omarchy\.Wiremix -e wiremix|omarchy-launch-or-focus-tui wiremix|' ~/.config/waybar/config.jsonc

6
migrations/1763393133.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Link new theme picker config"
mkdir -p ~/.config/elephant/menus
ln -snf $OMARCHY_PATH/default/elephant/omarchy_themes.lua ~/.config/elephant/menus/omarchy_themes.lua
sed -i '/"menus",/d' ~/.config/walker/config.toml
omarchy-restart-walker

3
migrations/1763409182.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Install exfatprogs to support exfat in format-drive"
omarchy-pkg-add exfatprogs

5
migrations/1763409505.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Add 10th workspace option to waybar config"
if ! grep -q '"10": "0",' ~/.config/waybar/config.jsonc; then
sed -i '/"9": "9",/a\ "10": "0",' ~/.config/waybar/config.jsonc
fi

4
migrations/1763478660.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Configure XDPH config for screensharing to remember token selection"
cp $OMARCHY_PATH/config/hypr/xdph.conf ~/.config/hypr/
systemctl --user restart xdg-desktop-portal-hyprland

28
migrations/1763558828.sh Normal file
View File

@@ -0,0 +1,28 @@
echo "Make Alacritty compatible with X-TerminalArgs"
if omarchy-pkg-present alacritty; then
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/Alacritty.desktop << EOF
[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupNotify=true
StartupWMClass=Alacritty
Actions=New;
X-TerminalArgExec=-e
X-TerminalArgAppId=--class=
X-TerminalArgTitle=--title=
X-TerminalArgDir=--working-directory=
[Desktop Action New]
Name=New Terminal
Exec=alacritty
EOF
fi

3
migrations/1763560161.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Hide Bluetooth module in waybar if there's no BT controller"
sed -i '/format-connected": "",/a\ "format-no-controller": "",' ~/.config/waybar/config.jsonc

3
migrations/1763561396.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Switch to stable Omarchy Package Repository builds"
omarchy-refresh-pacman

6
migrations/1763583093.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Make ethereal available as new theme"
if [[ ! -L ~/.config/omarchy/themes/ethereal ]]; then
rm -rf ~/.config/omarchy/themes/ethereal
ln -nfs ~/.local/share/omarchy/themes/ethereal ~/.config/omarchy/themes/
fi

6
migrations/1763626772.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Make hackerman available as new theme"
if [[ ! -L ~/.config/omarchy/themes/hackerman ]]; then
rm -rf ~/.config/omarchy/themes/hackerman
ln -nfs ~/.local/share/omarchy/themes/hackerman ~/.config/omarchy/themes/
fi

5
migrations/1763633307.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Add 100-line split resizing keybindings to Ghostty"
if ! grep -q "resize_split:down,100" ~/.config/ghostty/config; then
sed -i "/keybind = control+insert=copy_to_clipboard/a\keybind = super+control+shift+alt+arrow_down=resize_split:down,100\nkeybind = super+control+shift+alt+arrow_up=resize_split:up,100\nkeybind = super+control+shift+alt+arrow_left=resize_split:left,100\nkeybind = super+control+shift+alt+arrow_right=resize_split:right,100" ~/.config/ghostty/config
fi

3
migrations/1763634099.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Using 󰂱 icon for bluetooth when connected"
sed -i 's/"format-connected": "",/"format-connected": "󰂱",/' ~/.config/waybar/config.jsonc

5
migrations/1763653692.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Replace Waybar dock icon with something more obvious"
sed -i 's/"format": ""/"format": ""/' ~/.config/waybar/config.jsonc
sed -i '/#custom-expand-icon {/,/}/ s/margin-right: 20px;/margin-right: 18px;/' ~/.config/waybar/style.css
omarchy-restart-waybar

3
migrations/1763743755.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Refresh Walker config to ensure compatibility with latest version"
omarchy-refresh-walker

3
migrations/1763753641.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Include pacman mirror and OPR upstreams (edge vs stable) in About"
omarchy-refresh-fastfetch

6
migrations/1764067068.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Use Bluetooth off icon in the waybar when BlueTUI has turned off the adapter"
if ! grep -q '"format-off": "󰂲"' ~/.config/waybar/config.jsonc; then
sed -i '/"format-disabled": "󰂲",/a\ "format-off": "󰂲",' ~/.config/waybar/config.jsonc
omarchy-restart-waybar
fi

4
migrations/1764067963.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Ensure lockout limit is reset on reboot"
sudo sed -i '/pam_faillock\.so preauth/d' /etc/pam.d/sddm-autologin
sudo sed -i '/auth.*pam_permit\.so/a auth required pam_faillock.so authsucc' /etc/pam.d/sddm-autologin

3
migrations/1764332115.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Ensure emoji menu (Super + Ctrl + E) uses single column design"
omarchy-refresh-walker

3
migrations/1764333665.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Ensure you have package repository indexes matching your channel"
sudo pacman -Syyu --noconfirm

5
migrations/1764378788.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Ignore empty passwords on lock screen"
if ! grep -q "ignore_empty_input" ~/.config/hypr/hyprlock.conf; then
sed -i "/source =/a\ \ngeneral {\n ignore_empty_input = true\n}" ~/.config/hypr/hyprlock.conf
fi