mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Merge branch 'dev' into mkinitcpio_module_thunderbolt
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
4
migrations/1751134562.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
echo "Ensure all indexes and packages are up to date"
|
||||
|
||||
omarchy-refresh-pacman
|
||||
sudo pacman -Syu --noconfirm
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
echo "Add LocalSend as new default application"
|
||||
|
||||
omarchy-pkg-drop localsend-bin
|
||||
omarchy-pkg-add localsend
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
echo "Install slurp + wl-screenrec for new ALT+PrintScreen screen recorder"
|
||||
|
||||
omarchy-pkg-add slurp wl-screenrec
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
echo "Install wf-recorder for screen recording for nvidia"
|
||||
|
||||
omarchy-pkg-add wf-recorder
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
echo "Update and restart Walker to resolve stuck Omarchy menu"
|
||||
|
||||
sudo pacman -Syu --noconfirm walker-bin
|
||||
omarchy-restart-walker
|
||||
@@ -1,3 +0,0 @@
|
||||
echo "Update Walker config to add 60s timeout such that it won't conflict with screensaver"
|
||||
|
||||
omarchy-refresh-walker
|
||||
@@ -1,3 +0,0 @@
|
||||
echo "Install wf-recorder for intel based device"
|
||||
|
||||
omarchy-pkg-add wf-recorder
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
echo "Use new Omarchy mirror as default"
|
||||
|
||||
omarchy-refresh-pacman-mirrorlist
|
||||
omarchy-refresh-pacman
|
||||
|
||||
@@ -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
9
migrations/1757535736.sh
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
55
migrations/1758107879.sh
Normal 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
21
migrations/1758142943.sh
Normal 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 it’s JSONC (allows comments),
|
||||
# which jq doesn’t 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
17
migrations/1758436991.sh
Normal 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
|
||||
|
||||
55
migrations/1758487660_change_dm_to_sddm.sh
Normal file
55
migrations/1758487660_change_dm_to_sddm.sh
Normal 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
|
||||
38
migrations/1758487662_move_to_custom_uki.sh
Normal file
38
migrations/1758487662_move_to_custom_uki.sh
Normal 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
5
migrations/1758562032.sh
Normal 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
2
migrations/1758564460.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
echo "Enable fast shutdown"
|
||||
source $OMARCHY_PATH/install/config/fast-shutdown.sh
|
||||
3
migrations/1759093827.sh
Normal file
3
migrations/1759093827.sh
Normal 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
3
migrations/1759270604.sh
Normal 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
21
migrations/1759355846.sh
Normal 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
5
migrations/1759691413.sh
Normal 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
4
migrations/1759694076.sh
Normal 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
10
migrations/1759895423.sh
Normal 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
3
migrations/1759913695.sh
Normal 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
5
migrations/1760144906.sh
Normal 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
5
migrations/1760301290.sh
Normal 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
9
migrations/1760304963.sh
Normal 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
15
migrations/1760401344.sh
Normal 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
6
migrations/1760434895.sh
Normal 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
3
migrations/1760441237.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Install Omarchy theme on Obsidian vaults"
|
||||
|
||||
omarchy-theme-set-obsidian
|
||||
26
migrations/1760462260.sh
Normal file
26
migrations/1760462260.sh
Normal 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
5
migrations/1760471009.sh
Normal 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
3
migrations/1760684828.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Remove any active eza theme"
|
||||
|
||||
rm -f ~/.config/eza/theme.yml
|
||||
3
migrations/1760693222.sh
Normal file
3
migrations/1760693222.sh
Normal 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
6
migrations/1760724931.sh
Normal 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
23
migrations/1760724934.sh
Normal 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
3
migrations/1760730253.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Install Aether for Omarchy theme creation"
|
||||
|
||||
omarchy-pkg-add aether
|
||||
3
migrations/1760787158.sh
Normal file
3
migrations/1760787158.sh
Normal 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
21
migrations/1760974946.sh
Normal 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 it’s JSONC (allows comments),
|
||||
# which jq doesn’t 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
7
migrations/1761180745.sh
Normal 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
3
migrations/1761181166.sh
Normal 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
33
migrations/1761241493.sh
Normal 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
2
migrations/1761247569.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
echo "Install expac and inxi for omarchy-debug"
|
||||
omarchy-pkg-add expac inxi
|
||||
7
migrations/1761269603.sh
Normal file
7
migrations/1761269603.sh
Normal 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
5
migrations/1761274806.sh
Normal 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
11
migrations/1761274980.sh
Normal 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
9
migrations/1761569743.sh
Normal 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
3
migrations/1761585764.sh
Normal 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
6
migrations/1761638377.sh
Normal 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
21
migrations/1761758552.sh
Normal 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
3
migrations/1761897226.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Install Copy URL extension for Brave"
|
||||
|
||||
omarchy-refresh-config brave-flags.conf
|
||||
58
migrations/1762121828.sh
Normal file
58
migrations/1762121828.sh
Normal 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
2
migrations/1762150269.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
echo "Install omarchy-walker meta package"
|
||||
omarchy-pkg-add omarchy-walker
|
||||
5
migrations/1762352101.sh
Normal file
5
migrations/1762352101.sh
Normal 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
8
migrations/1762417304.sh
Normal 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
12
migrations/1762446739.sh
Normal 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
12
migrations/1762684663.sh
Normal 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
12
migrations/1762685081.sh
Normal 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
3
migrations/1762711005.sh
Normal 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
3
migrations/1762768186.sh
Normal 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
5
migrations/1762770442.sh
Normal 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
3
migrations/1762770815.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Pull packages from stable Arch mirror"
|
||||
|
||||
omarchy-refresh-pacman
|
||||
4
migrations/1762781907.sh
Normal file
4
migrations/1762781907.sh
Normal 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
4
migrations/1762802472.sh
Normal 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
10
migrations/1762873545.sh
Normal 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
8
migrations/1763386443.sh
Normal 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
6
migrations/1763393133.sh
Normal 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
3
migrations/1763409182.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Install exfatprogs to support exfat in format-drive"
|
||||
|
||||
omarchy-pkg-add exfatprogs
|
||||
5
migrations/1763409505.sh
Normal file
5
migrations/1763409505.sh
Normal 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
4
migrations/1763478660.sh
Normal 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
28
migrations/1763558828.sh
Normal 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
3
migrations/1763560161.sh
Normal 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
3
migrations/1763561396.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Switch to stable Omarchy Package Repository builds"
|
||||
|
||||
omarchy-refresh-pacman
|
||||
6
migrations/1763583093.sh
Normal file
6
migrations/1763583093.sh
Normal 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
6
migrations/1763626772.sh
Normal 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
5
migrations/1763633307.sh
Normal 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
3
migrations/1763634099.sh
Normal 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
5
migrations/1763653692.sh
Normal 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
3
migrations/1763743755.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Refresh Walker config to ensure compatibility with latest version"
|
||||
|
||||
omarchy-refresh-walker
|
||||
3
migrations/1763753641.sh
Normal file
3
migrations/1763753641.sh
Normal 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
6
migrations/1764067068.sh
Normal 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
4
migrations/1764067963.sh
Normal 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
3
migrations/1764332115.sh
Normal 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
3
migrations/1764333665.sh
Normal 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
5
migrations/1764378788.sh
Normal 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
|
||||
Reference in New Issue
Block a user