From 648832dcc69b48fb29dab89747680765298e83a7 Mon Sep 17 00:00:00 2001 From: Barend van der Walt <38956787+bvdwalt@users.noreply.github.com> Date: Fri, 22 Aug 2025 17:09:27 +0200 Subject: [PATCH 001/209] Add alacritty save_to_clipboard config for not copying to the PRIMARY clipboard --- config/alacritty/alacritty.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml index 05ec9940..217c1095 100644 --- a/config/alacritty/alacritty.toml +++ b/config/alacritty/alacritty.toml @@ -19,3 +19,6 @@ opacity = 0.98 bindings = [ { key = "F11", action = "ToggleFullscreen" } ] + +[selection] +save_to_clipboard = true From d40c1ba45411c95a1c8603c1aff50a436d251c3c Mon Sep 17 00:00:00 2001 From: Barend van der Walt <38956787+bvdwalt@users.noreply.github.com> Date: Sun, 31 Aug 2025 20:00:44 +0200 Subject: [PATCH 002/209] Update alacritty.toml to remove clipboard setting, bind shift+insert to paste action Removed selection settings to save to clipboard. bind shift+insert to paste action --- config/alacritty/alacritty.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml index 217c1095..354a2f5b 100644 --- a/config/alacritty/alacritty.toml +++ b/config/alacritty/alacritty.toml @@ -18,7 +18,5 @@ opacity = 0.98 [keyboard] bindings = [ { key = "F11", action = "ToggleFullscreen" } +{ key = "Insert", mods = "Shift", action = "Paste" } ] - -[selection] -save_to_clipboard = true From 2666e756663cc7ce8dfeaa434a118bfac163988c Mon Sep 17 00:00:00 2001 From: Barend van der Walt <38956787+bvdwalt@users.noreply.github.com> Date: Sun, 31 Aug 2025 20:03:01 +0200 Subject: [PATCH 003/209] Fix syntax error in alacritty.toml bindings --- config/alacritty/alacritty.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml index 354a2f5b..612e8b32 100644 --- a/config/alacritty/alacritty.toml +++ b/config/alacritty/alacritty.toml @@ -17,6 +17,6 @@ opacity = 0.98 [keyboard] bindings = [ -{ key = "F11", action = "ToggleFullscreen" } +{ key = "F11", action = "ToggleFullscreen" }, { key = "Insert", mods = "Shift", action = "Paste" } ] From 67011160b2c8de8c757017b6baa3d68a60a277e2 Mon Sep 17 00:00:00 2001 From: Fransiscus Rolanda Malau Date: Mon, 29 Sep 2025 23:14:53 +0700 Subject: [PATCH 004/209] hypr: add Helium to chromium-based browser tagging (follow-up to #1945) (#2056) --- default/hypr/apps/browser.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/hypr/apps/browser.conf b/default/hypr/apps/browser.conf index 1ff18150..b6df0072 100644 --- a/default/hypr/apps/browser.conf +++ b/default/hypr/apps/browser.conf @@ -1,5 +1,5 @@ # Browser types -windowrule = tag +chromium-based-browser, class:([cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable) +windowrule = tag +chromium-based-browser, class:([cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable|helium) windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf) # Force chromium-based browsers into a tile to deal with --app bug From 1022734a67bc9370c04bc45cc309a7f0a08c36a5 Mon Sep 17 00:00:00 2001 From: Alexandre Perreault Date: Mon, 29 Sep 2025 12:18:20 -0400 Subject: [PATCH 005/209] feat: clear states when relaunching or rebooting from the system menu (#2053) --- bin/omarchy-menu | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 0dd68ec1..e18c247b 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -451,9 +451,9 @@ show_system_menu() { *Lock*) omarchy-lock-screen ;; *Screensaver*) omarchy-launch-screensaver force ;; *Suspend*) systemctl suspend ;; - *Relaunch*) uwsm stop ;; - *Restart*) systemctl reboot ;; - *Shutdown*) systemctl poweroff ;; + *Relaunch*) omarchy-state clear relaunch-required && uwsm stop ;; + *Restart*) omarchy-state clear re*-required && systemctl reboot ;; + *Shutdown*) omarchy-state clear re*-required && systemctl poweroff ;; *) back_to show_main_menu ;; esac } From a51011fbb81d39bb5883db1b752a2bcf8831cfac Mon Sep 17 00:00:00 2001 From: Aislan Dener Souza Vicentini Date: Mon, 29 Sep 2025 13:32:53 -0300 Subject: [PATCH 006/209] add suport fingerprint from FPC - Thinkpad E14 Gen 6 (#2023) --- bin/omarchy-setup-fingerprint | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-setup-fingerprint b/bin/omarchy-setup-fingerprint index 422fb1e4..93b70e6d 100755 --- a/bin/omarchy-setup-fingerprint +++ b/bin/omarchy-setup-fingerprint @@ -20,7 +20,7 @@ print_info() { } check_fingerprint_hardware() { - if ! lsusb | grep -Eiq 'fingerprint|synaptics|goodix|elan|validity'; then + if ! lsusb | grep -Eiq 'fingerprint|synaptics|goodix|elan|validity|FPC'; then print_error "\nNo fingerprint sensor detected." return 1 fi From 9903a9b333968ca8a7fef04978d05567cee4b798 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 30 Sep 2025 12:24:19 +0200 Subject: [PATCH 007/209] Increase the delay before the "window is not responding" notice is shown Closes #2098 Co-authored-by: @CaffeinatedTech --- default/hypr/looknfeel.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index 9b8f3077..f9bae668 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -86,6 +86,7 @@ misc { disable_hyprland_logo = true disable_splash_rendering = true focus_on_activate = true + anr_missed_pings = 5 } # https://wiki.hypr.land/Configuring/Variables/#cursor From 977103011ef2baa8fa76d13583ba640aead30d34 Mon Sep 17 00:00:00 2001 From: Kye Davey Date: Tue, 30 Sep 2025 20:27:41 +1000 Subject: [PATCH 008/209] fix removal of webapps that use additional handler (#2096) Co-authored-by: Ryan Hughes --- bin/omarchy-webapp-remove | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-webapp-remove b/bin/omarchy-webapp-remove index 833e8989..ca4daefc 100755 --- a/bin/omarchy-webapp-remove +++ b/bin/omarchy-webapp-remove @@ -6,7 +6,7 @@ DESKTOP_DIR="$HOME/.local/share/applications/" if [ "$#" -eq 0 ]; then # Find all web apps while IFS= read -r -d '' file; do - if grep -q '^Exec=.*omarchy-launch-webapp.*' "$file"; then + if grep -q '^Exec=.*\(omarchy-launch-webapp\|omarchy-webapp-handler\).*' "$file"; then WEB_APPS+=("$(basename "${file%.desktop}")") fi done < <(find "$DESKTOP_DIR" -name '*.desktop' -print0) From 1ac8e96df3263024f51dfa6fe4dcd82cbd1e7614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulf=20K=C3=B6ther?= Date: Tue, 30 Sep 2025 12:29:02 +0200 Subject: [PATCH 009/209] Alter input.conf kb_options to take non-us keyboards into account (#2086) Co-authored-by: Ryan Hughes --- config/hypr/input.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/hypr/input.conf b/config/hypr/input.conf index ca5f1f5e..8a09359f 100644 --- a/config/hypr/input.conf +++ b/config/hypr/input.conf @@ -3,7 +3,7 @@ input { # Use multiple keyboard layouts and switch between them with Left Alt + Right Alt # kb_layout = us,dk,eu - kb_options = compose:caps # ,grp:alts_toggle + kb_options = compose:caps # ,grp:shifts_toggle # Change speed of keyboard repeat repeat_rate = 40 From 7819ae354e012af5053429c07c683bb0215c64c1 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 2 Oct 2025 20:04:19 +0200 Subject: [PATCH 010/209] Go back to using -set-theme-color until the policy coloring is fixed --- bin/omarchy-theme-set-browser | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/omarchy-theme-set-browser b/bin/omarchy-theme-set-browser index 759d2c4e..655ebe31 100755 --- a/bin/omarchy-theme-set-browser +++ b/bin/omarchy-theme-set-browser @@ -4,16 +4,17 @@ CHROMIUM_THEME=~/.config/omarchy/current/theme/chromium.theme if omarchy-cmd-present chromium || omarchy-cmd-present brave; then if [[ -f $CHROMIUM_THEME ]]; then - rgb=$(<$CHROMIUM_THEME) + THEME_RGB_COLOR=$(<$CHROMIUM_THEME) THEME_HEX_COLOR=$(printf '#%02x%02x%02x' ${rgb//,/ }) else # Use a default, neutral grey if theme doesn't have a color + THEME_RGB_COLOR="28,32,39" THEME_HEX_COLOR="#1c2027" fi if omarchy-cmd-present chromium; then - echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\"}" | tee "/etc/chromium/policies/managed/color.json" >/dev/null - chromium --refresh-platform-policy --no-startup-window + rm -f /etc/chromium/policies/managed/color.json + chromium --no-startup-window --set-theme-color="$THEME_RGB_COLOR" fi if omarchy-cmd-present brave; then From e0f16b9098c96e6c8ebae4bf9c3698cbc5a418eb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 4 Oct 2025 17:41:05 +0200 Subject: [PATCH 011/209] Reduce timeout for hung applications to more like 5-6s --- default/hypr/looknfeel.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index f9bae668..f4b4a44f 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -86,7 +86,7 @@ misc { disable_hyprland_logo = true disable_splash_rendering = true focus_on_activate = true - anr_missed_pings = 5 + anr_missed_pings = 3 } # https://wiki.hypr.land/Configuring/Variables/#cursor From 42835338580d9291343696e4a69f3bed99394d6a Mon Sep 17 00:00:00 2001 From: Lucas Goossen Date: Sat, 4 Oct 2025 12:53:55 -0300 Subject: [PATCH 012/209] Made keybindings menu a little more human readable (#1824) Co-authored-by: Lucas Goossen --- bin/omarchy-menu-keybindings | 105 +++++++++++++++++------------- config/hypr/bindings.conf | 4 +- default/hypr/bindings.conf | 4 +- default/hypr/bindings/tiling.conf | 30 ++++----- migrations/1755870033.sh | 2 +- 5 files changed, 79 insertions(+), 66 deletions(-) diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index 1d1b40ac..ab13025b 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -11,30 +11,44 @@ # - Map numeric modifier key mask to a textual rendition # - Output comma-separated values that the parser can understand dynamic_bindings() { - hyprctl -j binds | \ - jq -r '.[] | {modmask, key, keycode, description, dispatcher, arg} | "\(.modmask),\(.key)@\(.keycode),\(.description),\(.dispatcher),\(.arg)"' | \ + hyprctl -j binds | + jq -r '.[] | {modmask, key, keycode, description, dispatcher, arg} | "\(.modmask),\(.key)@\(.keycode),\(.description),\(.dispatcher),\(.arg)"' | sed -r \ - -e 's/null//' \ - -e 's,~/.local/share/omarchy/bin/,,' \ - -e 's,uwsm app -- ,,' \ - -e 's/@0//' \ - -e 's/,@/,code:/' \ - -e 's/^0,/,/' \ - -e 's/^1,/SHIFT,/' \ - -e 's/^4,/CTRL,/' \ - -e 's/^5,/SHIFT CTRL,/' \ - -e 's/^8,/ALT,/' \ - -e 's/^9,/SHIFT ALT,/' \ - -e 's/^12,/CTRL ALT,/' \ - -e 's/^13,/SHIFT CTRL ALT,/' \ - -e 's/^64,/SUPER,/' \ - -e 's/^65,/SUPER SHIFT,/' \ - -e 's/^68,/SUPER CTRL,/' \ - -e 's/^69,/SUPER SHIFT CTRL,/' \ - -e 's/^72,/SUPER ALT,/' \ - -e 's/^73,/SUPER SHIFT ALT,/' \ - -e 's/^76,/SUPER CTRL ALT,/' \ - -e 's/^77,/SUPER SHIFT CTRL ALT,/' + -e 's/null//' \ + -e 's,~/.local/share/omarchy/bin/,,' \ + -e 's,uwsm app -- ,,' \ + -e 's/@0//' \ + -e 's/,@/,code:/' \ + -e 's/,code:10,/,1,/' \ + -e 's/,code:11,/,2,/' \ + -e 's/,code:12,/,3,/' \ + -e 's/,code:13,/,4,/' \ + -e 's/,code:14,/,5,/' \ + -e 's/,code:15,/,6,/' \ + -e 's/,code:16,/,7,/' \ + -e 's/,code:17,/,8,/' \ + -e 's/,code:18,/,9,/' \ + -e 's/,code:19,/,0,/' \ + -e 's/,code:20,/,-,/' \ + -e 's/,code:21,/,=,/' \ + -e 's/^0,/,/' \ + -e 's/,mouse:272,/,MOUSE LEFT,/' \ + -e 's/,mouse:273,/,MOUSE RIGHT,/' \ + -e 's/^1,/SHIFT,/' \ + -e 's/^4,/CTRL,/' \ + -e 's/^5,/SHIFT CTRL,/' \ + -e 's/^8,/ALT,/' \ + -e 's/^9,/SHIFT ALT,/' \ + -e 's/^12,/CTRL ALT,/' \ + -e 's/^13,/SHIFT CTRL ALT,/' \ + -e 's/^64,/SUPER,/' \ + -e 's/^65,/SUPER SHIFT,/' \ + -e 's/^68,/SUPER CTRL,/' \ + -e 's/^69,/SUPER SHIFT CTRL,/' \ + -e 's/^72,/SUPER ALT,/' \ + -e 's/^73,/SUPER SHIFT ALT,/' \ + -e 's/^76,/SUPER CTRL ALT,/' \ + -e 's/^77,/SUPER SHIFT CTRL ALT,/' } # Parse and format keybindings @@ -46,7 +60,7 @@ dynamic_bindings() { # - Prints everything in a nicely aligned format. parse_bindings() { awk -F, ' -{ + { # Combine the modifier and key (first two fields) key_combo = $1 " + " $2; @@ -58,36 +72,35 @@ parse_bindings() { action = $3; if (action == "") { - # Reconstruct the command from the remaining fields - for (i = 4; i <= NF; i++) { - action = action $i (i < NF ? "," : ""); - } + # Reconstruct the command from the remaining fields + for (i = 4; i <= NF; i++) { + action = action $i (i < NF ? "," : ""); + } - # Clean up trailing commas, remove leading "exec, ", and trim - sub(/,$/, "", action); - gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action); - gsub(/^[ \t]+|[ \t]+$/, "", action); - gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one + # Clean up trailing commas, remove leading "exec, ", and trim + sub(/,$/, "", action); + gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action); + gsub(/^[ \t]+|[ \t]+$/, "", action); + gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one - # Escape XML entities - gsub(/&/, "\\&", action); - gsub(//, "\\>", action); - gsub(/"/, "\\"", action); - gsub(/'"'"'/, "\\'", action); + # Escape XML entities + gsub(/&/, "\\&", action); + gsub(//, "\\>", action); + gsub(/"/, "\\"", action); + gsub(/'"'"'/, "\\'", action); } - if (action != "") { - printf "%-35s → %s\n", key_combo, action; - } + if (action != "") { + printf "%-35s → %s\n", key_combo, action; + } }' } monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height') menu_height=$((monitor_height * 40 / 100)) -dynamic_bindings | \ - sort -u | \ - parse_bindings | \ +dynamic_bindings | + sort -u | + parse_bindings | walker --dmenu --theme keybindings -p 'Keybindings' -w 800 -h "$menu_height" - diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index 6076049b..b8e6ea31 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -2,7 +2,7 @@ $terminal = uwsm app -- $TERMINAL $browser = omarchy-launch-browser -bindd = SUPER, return, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" +bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window bindd = SUPER, B, Browser, exec, $browser bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private @@ -12,7 +12,7 @@ bindd = SUPER, T, Activity, exec, $terminal -e btop bindd = SUPER, D, Docker, exec, $terminal -e lazydocker bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop" bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm app -- obsidian -disable-gpu --enable-wayland-ime" -bindd = SUPER, slash, Passwords, exec, uwsm app -- 1password +bindd = SUPER, SLASH, Passwords, exec, uwsm app -- 1password # If your web app url contains #, type it as ## to prevent hyperland treat it as comments bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" diff --git a/default/hypr/bindings.conf b/default/hypr/bindings.conf index 2927eb34..20fee804 100644 --- a/default/hypr/bindings.conf +++ b/default/hypr/bindings.conf @@ -1,6 +1,6 @@ # Deprecated bindings file. New installations include everything directly. -bindd = SUPER, return, Terminal, exec, $terminal +bindd = SUPER, RETURN, Terminal, exec, $terminal bindd = SUPER, F, File manager, exec, $fileManager bindd = SUPER, B, Web browser, exec, $browser bindd = SUPER, M, Music player, exec, $music @@ -9,7 +9,7 @@ bindd = SUPER, T, Top, exec, $terminal -e btop bindd = SUPER, D, Lazy Docker, exec, $terminal -e lazydocker bindd = SUPER, G, Messenger, exec, $messenger bindd = SUPER, O, Obsidian, exec, obsidian -disable-gpu -bindd = SUPER, slash, Password manager, exec, $passwordManager +bindd = SUPER, SLASH, Password manager, exec, $passwordManager source = ~/.local/share/omarchy/default/hypr/bindings/media.conf source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index ff2437b9..a0e0f0b5 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -10,10 +10,10 @@ bindd = SHIFT, F11, Force full screen, fullscreen, 0 bindd = ALT, F11, Full width, fullscreen, 1 # Move focus with SUPER + arrow keys -bindd = SUPER, left, Move focus left, movefocus, l -bindd = SUPER, right, Move focus right, movefocus, r -bindd = SUPER, up, Move focus up, movefocus, u -bindd = SUPER, down, Move focus down, movefocus, d +bindd = SUPER, LEFT, Move focus left, movefocus, l +bindd = SUPER, RIGHT, Move focus right, movefocus, r +bindd = SUPER, UP, Move focus up, movefocus, u +bindd = SUPER, DOWN, Move focus down, movefocus, d # Switch workspaces with SUPER + [0-9] bindd = SUPER, code:10, Switch to workspace 1, workspace, 1 @@ -39,22 +39,22 @@ bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8 bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9 bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10 -# Tab between workspaces +# TAB between workspaces bindd = SUPER, TAB, Next workspace, workspace, e+1 bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1 bindd = SUPER CTRL, TAB, Former workspace, workspace, previous # Swap active window with the one next to it with SUPER + SHIFT + arrow keys -bindd = SUPER SHIFT, left, Swap window to the left, swapwindow, l -bindd = SUPER SHIFT, right, Swap window to the right, swapwindow, r -bindd = SUPER SHIFT, up, Swap window up, swapwindow, u -bindd = SUPER SHIFT, down, Swap window down, swapwindow, d +bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l +bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r +bindd = SUPER SHIFT, UP, Swap window up, swapwindow, u +bindd = SUPER SHIFT, DOWN, Swap window down, swapwindow, d # Cycle through applications on active workspace -bindd = ALT, Tab, Cycle to next window, cyclenext -bindd = ALT SHIFT, Tab, Cycle to prev window, cyclenext, prev -bindd = ALT, Tab, Reveal active window on top, bringactivetotop -bindd = ALT SHIFT, Tab, Reveal active window on top, bringactivetotop +bindd = ALT, TAB, Cycle to next window, cyclenext +bindd = ALT SHIFT, TAB, Cycle to prev window, cyclenext, prev +bindd = ALT, TAB, Reveal active window on top, bringactivetotop +bindd = ALT SHIFT, TAB, Reveal active window on top, bringactivetotop # Resize active window bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 # - key @@ -63,8 +63,8 @@ bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100 bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100 # Scroll through existing workspaces with SUPER + scroll -bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1 -bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1 +bindd = SUPER, MOUSE_DOWN, Scroll active workspace forward, workspace, e+1 +bindd = SUPER, MOUSE_UP, Scroll active workspace backward, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindmd = SUPER, mouse:272, Move window, movewindow diff --git a/migrations/1755870033.sh b/migrations/1755870033.sh index fde865be..d7b6e8f9 100644 --- a/migrations/1755870033.sh +++ b/migrations/1755870033.sh @@ -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 From bba224e9a5b674f0a0a9e5ff79b4837a43ca992b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 4 Oct 2025 17:55:27 +0200 Subject: [PATCH 013/209] Speedup keybindings show by using caching Co-authored-by: @davidwinter --- bin/omarchy-menu-keybindings | 118 +++++++++++++++++++++++++---------- 1 file changed, 85 insertions(+), 33 deletions(-) diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index ab13025b..cd1a9b54 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -3,6 +3,69 @@ # A script to display Hyprland keybindings defined in your configuration # using walker for an interactive search menu. +declare -A KEYCODE_SYM_MAP + +build_keymap_cache() { + local keymap + keymap="$(xkbcli compile-keymap)" || { + echo "Failed to compile keymap" >&2 + return 1 + } + + while IFS=, read -r code sym; do + [[ -z "$code" || -z "$sym" ]] && continue + KEYCODE_SYM_MAP["$code"]="$sym" + done < <( + awk ' + BEGIN { sec = "" } + /xkb_keycodes/ { sec = "codes"; next } + /xkb_symbols/ { sec = "syms"; next } + sec == "codes" { + if (match($0, /<([A-Za-z0-9_]+)>\s*=\s*([0-9]+)\s*;/, m)) code_by_name[m[1]] = m[2] + } + sec == "syms" { + if (match($0, /key\s*<([A-Za-z0-9_]+)>\s*\{\s*\[\s*([^, \]]+)/, m)) sym_by_name[m[1]] = m[2] + } + END { + for (k in code_by_name) { + c = code_by_name[k] + s = sym_by_name[k] + if (c != "" && s != "" && s != "NoSymbol") print c "," s + } + } + ' <<<"$keymap" + ) +} + +lookup_keycode_cached() { + printf '%s\n' "${KEYCODE_SYM_MAP[$1]}" +} + +parse_keycodes() { + local start end elapsed + [[ "${DEBUG:-0}" == "1" ]] && start=$(date +%s.%N) + while IFS= read -r line; do + if [[ "$line" =~ code:([0-9]+) ]]; then + code="${BASH_REMATCH[1]}" + symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE") + echo "${line/code:${code}/$symbol}" + else + echo "$line" + fi + done + + if [[ "$DEBUG" == "1" ]]; then + end=$(date +%s.%N) + # fall back to awk if bc is missing + if command -v bc >/dev/null 2>&1; then + elapsed=$(echo "$end - $start" | bc) + else + elapsed=$(awk -v s="$start" -v e="$end" 'BEGIN{printf "%.6f", (e - s)}') + fi + echo "[DEBUG] parse_keycodes elapsed: ${elapsed}s" >&2 + fi +} + # Fetch dynamic keybindings from Hyprland # # Also do some pre-processing: @@ -19,21 +82,7 @@ dynamic_bindings() { -e 's,uwsm app -- ,,' \ -e 's/@0//' \ -e 's/,@/,code:/' \ - -e 's/,code:10,/,1,/' \ - -e 's/,code:11,/,2,/' \ - -e 's/,code:12,/,3,/' \ - -e 's/,code:13,/,4,/' \ - -e 's/,code:14,/,5,/' \ - -e 's/,code:15,/,6,/' \ - -e 's/,code:16,/,7,/' \ - -e 's/,code:17,/,8,/' \ - -e 's/,code:18,/,9,/' \ - -e 's/,code:19,/,0,/' \ - -e 's/,code:20,/,-,/' \ - -e 's/,code:21,/,=,/' \ -e 's/^0,/,/' \ - -e 's/,mouse:272,/,MOUSE LEFT,/' \ - -e 's/,mouse:273,/,MOUSE RIGHT,/' \ -e 's/^1,/SHIFT,/' \ -e 's/^4,/CTRL,/' \ -e 's/^5,/SHIFT CTRL,/' \ @@ -60,7 +109,7 @@ dynamic_bindings() { # - Prints everything in a nicely aligned format. parse_bindings() { awk -F, ' - { +{ # Combine the modifier and key (first two fields) key_combo = $1 " + " $2; @@ -72,35 +121,38 @@ parse_bindings() { action = $3; if (action == "") { - # Reconstruct the command from the remaining fields - for (i = 4; i <= NF; i++) { - action = action $i (i < NF ? "," : ""); - } + # Reconstruct the command from the remaining fields + for (i = 4; i <= NF; i++) { + action = action $i (i < NF ? "," : ""); + } - # Clean up trailing commas, remove leading "exec, ", and trim - sub(/,$/, "", action); - gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action); - gsub(/^[ \t]+|[ \t]+$/, "", action); - gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one + # Clean up trailing commas, remove leading "exec, ", and trim + sub(/,$/, "", action); + gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action); + gsub(/^[ \t]+|[ \t]+$/, "", action); + gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one - # Escape XML entities - gsub(/&/, "\\&", action); - gsub(//, "\\>", action); - gsub(/"/, "\\"", action); - gsub(/'"'"'/, "\\'", action); + # Escape XML entities + gsub(/&/, "\\&", action); + gsub(//, "\\>", action); + gsub(/"/, "\\"", action); + gsub(/'"'"'/, "\\'", action); } - if (action != "") { - printf "%-35s → %s\n", key_combo, action; - } + if (action != "") { + printf "%-35s → %s\n", key_combo, action; + } }' } monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height') menu_height=$((monitor_height * 40 / 100)) +build_keymap_cache + dynamic_bindings | sort -u | + parse_keycodes | parse_bindings | walker --dmenu --theme keybindings -p 'Keybindings' -w 800 -h "$menu_height" From bbe4461c053e441e59dfb8ac5f8d072ddadd0555 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 5 Oct 2025 10:54:45 +0200 Subject: [PATCH 014/209] Only give one line to avoid the jitter --- bin/omarchy-cmd-screensaver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index e336c8b0..70202bf1 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -18,7 +18,7 @@ hyprctl keyword cursor:invisible true while true; do effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1) tte -i ~/.config/omarchy/branding/screensaver.txt \ - --frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 2)) --anchor-canvas c --anchor-text c \ + --frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 1)) --anchor-canvas c --anchor-text c \ "$effect" & while pgrep -x tte >/dev/null; do From 6544d1b9702aabfb17cbe430eca8f2828b6e7f43 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 5 Oct 2025 11:18:40 -0400 Subject: [PATCH 015/209] Add auto-changing colors for Neovim (#1712) * Add MVP variant of nvim switcher * Update nvim configs * Remove config * Add migration for the new live themeing * Fix plugin * Remove theme * Update to actually work * Make it faster * Fix quirks --------- Co-authored-by: David Heinemeier Hansson --- config/nvim/lua/plugins/all-themes.lua | 56 +++++++++++++++++++ .../lua/plugins/omarchy-theme-hotreload.lua | 45 +++++++++++++++ config/nvim/lua/plugins/theme.lua | 8 --- migrations/1758081785.sh | 4 ++ themes/catppuccin-latte/neovim.lua | 9 +-- themes/catppuccin/neovim.lua | 5 ++ themes/osaka-jade/neovim.lua | 18 +++--- themes/ristretto/neovim.lua | 41 ++++---------- themes/tokyo-night/neovim.lua | 6 +- 9 files changed, 141 insertions(+), 51 deletions(-) create mode 100644 config/nvim/lua/plugins/all-themes.lua create mode 100644 config/nvim/lua/plugins/omarchy-theme-hotreload.lua delete mode 100644 config/nvim/lua/plugins/theme.lua create mode 100644 migrations/1758081785.sh diff --git a/config/nvim/lua/plugins/all-themes.lua b/config/nvim/lua/plugins/all-themes.lua new file mode 100644 index 00000000..c17001a3 --- /dev/null +++ b/config/nvim/lua/plugins/all-themes.lua @@ -0,0 +1,56 @@ +return { + -- Load all theme plugins but don't apply them + -- This ensures all colorschemes are available for hot-reloading + { + "ribru17/bamboo.nvim", + lazy = true, + priority = 1000, + }, + { + "catppuccin/nvim", + name = "catppuccin", + lazy = true, + priority = 1000, + }, + { + "sainnhe/everforest", + lazy = true, + priority = 1000, + }, + { + "ellisonleao/gruvbox.nvim", + lazy = true, + priority = 1000, + }, + { + "rebelot/kanagawa.nvim", + lazy = true, + priority = 1000, + }, + { + "tahayvr/matteblack.nvim", + lazy = true, + priority = 1000, + }, + { + "loctvl842/monokai-pro.nvim", + lazy = true, + priority = 1000, + }, + { + "shaunsingh/nord.nvim", + lazy = true, + priority = 1000, + }, + { + "rose-pine/neovim", + name = "rose-pine", + lazy = true, + priority = 1000, + }, + { + "folke/tokyonight.nvim", + lazy = true, + priority = 1000, + }, +} diff --git a/config/nvim/lua/plugins/omarchy-theme-hotreload.lua b/config/nvim/lua/plugins/omarchy-theme-hotreload.lua new file mode 100644 index 00000000..8d05a5b8 --- /dev/null +++ b/config/nvim/lua/plugins/omarchy-theme-hotreload.lua @@ -0,0 +1,45 @@ +return { + { + name = "theme-hotreload", + dir = vim.fn.stdpath("config"), + lazy = false, + priority = 1000, + config = function() + local transparency_file = vim.fn.stdpath("config") .. "/plugin/after/transparency.lua" + + vim.api.nvim_create_autocmd("User", { + pattern = "LazyReload", + callback = function() + package.loaded["plugins.theme"] = nil + + vim.schedule(function() + local ok, theme_spec = pcall(require, "plugins.theme") + if not ok then + return + end + + for _, spec in ipairs(theme_spec) do + if spec[1] == "LazyVim/LazyVim" and spec.opts and spec.opts.colorscheme then + local colorscheme = spec.opts.colorscheme + + require("lazy.core.loader").colorscheme(colorscheme) + + vim.defer_fn(function() + pcall(vim.cmd.colorscheme, colorscheme) + + if vim.fn.filereadable(transparency_file) == 1 then + vim.defer_fn(function() + vim.cmd.source(transparency_file) + end, 5) + end + end, 5) + + break + end + end + end) + end, + }) + end, + }, +} diff --git a/config/nvim/lua/plugins/theme.lua b/config/nvim/lua/plugins/theme.lua deleted file mode 100644 index dad2d30b..00000000 --- a/config/nvim/lua/plugins/theme.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - { - "LazyVim/LazyVim", - opts = { - colorscheme = "tokyonight", - }, - }, -} diff --git a/migrations/1758081785.sh b/migrations/1758081785.sh new file mode 100644 index 00000000..40e062a9 --- /dev/null +++ b/migrations/1758081785.sh @@ -0,0 +1,4 @@ +echo "Add live themeing to neovim" + +cp -f $OMARCHY_PATH/config/nvim/lua/plugins/all-themes.lua ~/.config/nvim/lua/plugins/ +cp -f $OMARCHY_PATH/config/nvim/lua/plugins/omarchy-theme-hotreload.lua ~/.config/nvim/lua/plugins/ diff --git a/themes/catppuccin-latte/neovim.lua b/themes/catppuccin-latte/neovim.lua index 07a53cf8..53eaf45c 100644 --- a/themes/catppuccin-latte/neovim.lua +++ b/themes/catppuccin-latte/neovim.lua @@ -3,12 +3,9 @@ return { "catppuccin/nvim", name = "catppuccin", priority = 1000, - config = function() - require("catppuccin").setup({ - flavour = "latte", -- other options: "mocha", "frappe", "macchiato" - }) - vim.cmd.colorscheme("catppuccin-latte") - end, + opts = { + flavour = "latte", + }, }, { "LazyVim/LazyVim", diff --git a/themes/catppuccin/neovim.lua b/themes/catppuccin/neovim.lua index dbe34f5e..a8683876 100644 --- a/themes/catppuccin/neovim.lua +++ b/themes/catppuccin/neovim.lua @@ -1,4 +1,9 @@ return { + { + "catppuccin/nvim", + name = "catppuccin", + priority = 1000, + }, { "LazyVim/LazyVim", opts = { diff --git a/themes/osaka-jade/neovim.lua b/themes/osaka-jade/neovim.lua index b2bd3f20..b3c9edc5 100644 --- a/themes/osaka-jade/neovim.lua +++ b/themes/osaka-jade/neovim.lua @@ -1,9 +1,13 @@ return { - "ribru17/bamboo.nvim", - lazy = false, - priority = 1000, - config = function() - require("bamboo").setup({}) - require("bamboo").load() - end, + { + "ribru17/bamboo.nvim", + priority = 1000, + opts = {}, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "bamboo", + }, + }, } diff --git a/themes/ristretto/neovim.lua b/themes/ristretto/neovim.lua index 38959d47..d862d161 100644 --- a/themes/ristretto/neovim.lua +++ b/themes/ristretto/neovim.lua @@ -1,31 +1,14 @@ return { - { - "gthelding/monokai-pro.nvim", - config = function() - require("monokai-pro").setup({ - filter = "ristretto", - override = function() - return { - NonText = { fg = "#948a8b" }, - MiniIconsGrey = { fg = "#948a8b" }, - MiniIconsRed = { fg = "#fd6883" }, - MiniIconsBlue = { fg = "#85dacc" }, - MiniIconsGreen = { fg = "#adda78" }, - MiniIconsYellow = { fg = "#f9cc6c" }, - MiniIconsOrange = { fg = "#f38d70" }, - MiniIconsPurple = { fg = "#a8a9eb" }, - MiniIconsAzure = { fg = "#a8a9eb" }, - MiniIconsCyan = { fg = "#85dacc" }, -- same value as MiniIconsBlue for consistency - } - end, - }) - vim.cmd([[colorscheme monokai-pro]]) - end, - }, - { - "LazyVim/LazyVim", - opts = { - colorscheme = "monokai-pro", - }, - }, + { + "loctvl842/monokai-pro.nvim", + opts = { + filter = "ristretto", + }, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "monokai-pro", + }, + }, } diff --git a/themes/tokyo-night/neovim.lua b/themes/tokyo-night/neovim.lua index dad2d30b..39327c9b 100644 --- a/themes/tokyo-night/neovim.lua +++ b/themes/tokyo-night/neovim.lua @@ -1,8 +1,12 @@ return { + { + "folke/tokyonight.nvim", + priority = 1000, + }, { "LazyVim/LazyVim", opts = { - colorscheme = "tokyonight", + colorscheme = "tokyonight-night", }, }, } From a079af948ba4e9f411267a9137943ea448e829af Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 5 Oct 2025 12:14:11 -0400 Subject: [PATCH 016/209] Change default shutdown timeout to 5sec (#1886) * Shutdown faster * Add migration * Reduce shutdown timeout from 10s to 5s --------- Co-authored-by: David Heinemeier Hansson --- install/config/all.sh | 1 + install/config/fast-shutdown.sh | 7 +++++++ migrations/1758564460_enable_fast_shutdown.sh | 2 ++ 3 files changed, 10 insertions(+) create mode 100755 install/config/fast-shutdown.sh create mode 100644 migrations/1758564460_enable_fast_shutdown.sh diff --git a/install/config/all.sh b/install/config/all.sh index a9affb79..eeb9810b 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -14,6 +14,7 @@ run_logged $OMARCHY_INSTALL/config/fix-powerprofilesctl-shebang.sh run_logged $OMARCHY_INSTALL/config/docker.sh run_logged $OMARCHY_INSTALL/config/mimetypes.sh run_logged $OMARCHY_INSTALL/config/localdb.sh +run_logged $OMARCHY_INSTALL/config/fast-shutdown.sh run_logged $OMARCHY_INSTALL/config/sudoless-asdcontrol.sh run_logged $OMARCHY_INSTALL/config/hardware/network.sh run_logged $OMARCHY_INSTALL/config/hardware/set-wireless-regdom.sh diff --git a/install/config/fast-shutdown.sh b/install/config/fast-shutdown.sh new file mode 100755 index 00000000..bbbfafdc --- /dev/null +++ b/install/config/fast-shutdown.sh @@ -0,0 +1,7 @@ +sudo mkdir -p /etc/systemd/system.conf.d + +cat < Date: Sun, 5 Oct 2025 12:18:22 -0400 Subject: [PATCH 017/209] Make HEY the default mailto handler (#1822) --- bin/omarchy-webapp-handler-hey | 11 +++++++++++ install/config/mimetypes.sh | 3 +++ install/packaging/webapps.sh | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100755 bin/omarchy-webapp-handler-hey diff --git a/bin/omarchy-webapp-handler-hey b/bin/omarchy-webapp-handler-hey new file mode 100755 index 00000000..37f4cf2d --- /dev/null +++ b/bin/omarchy-webapp-handler-hey @@ -0,0 +1,11 @@ +#!/bin/bash +url="$1" +web_url="https://app.hey.com" + +# Handle mailto: URLs +if [[ $url =~ ^mailto: ]]; then + email=$(echo "$url" | sed 's/mailto://') + web_url="https://app.hey.com/messages/new?to=$email" +fi + +exec omarchy-launch-webapp "$web_url" diff --git a/install/config/mimetypes.sh b/install/config/mimetypes.sh index 48bb8cfa..ee662f55 100644 --- a/install/config/mimetypes.sh +++ b/install/config/mimetypes.sh @@ -33,3 +33,6 @@ xdg-mime default mpv.desktop video/x-ms-asf xdg-mime default mpv.desktop video/x-ogm+ogg xdg-mime default mpv.desktop video/x-theora+ogg xdg-mime default mpv.desktop application/ogg + +# Use Hey for mailto: links +xdg-mime default HEY.desktop x-scheme-handler/mailto diff --git a/install/packaging/webapps.sh b/install/packaging/webapps.sh index df20bd3e..c5f7350b 100644 --- a/install/packaging/webapps.sh +++ b/install/packaging/webapps.sh @@ -1,4 +1,4 @@ -omarchy-webapp-install "HEY" https://app.hey.com HEY.png +omarchy-webapp-install "HEY" https://app.hey.com HEY.png "omarchy-webapp-handler-hey %u" "x-scheme-handler/mailto" omarchy-webapp-install "Basecamp" https://launchpad.37signals.com Basecamp.png omarchy-webapp-install "WhatsApp" https://web.whatsapp.com/ WhatsApp.png omarchy-webapp-install "Google Photos" https://photos.google.com/ "Google Photos.png" From 2e0064943b6cc9103d8ee32b3e21af30a558ec95 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 5 Oct 2025 12:23:26 -0400 Subject: [PATCH 018/209] Update version reporting (#1724) --- bin/omarchy-version | 3 +-- version | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 version diff --git a/bin/omarchy-version b/bin/omarchy-version index 4ac84815..5ddc823f 100755 --- a/bin/omarchy-version +++ b/bin/omarchy-version @@ -1,3 +1,2 @@ #!/bin/bash - -git -C "$OMARCHY_PATH" describe --tags $(git -C "$OMARCHY_PATH" rev-list --tags --max-count=1) +cat $OMARCHY_PATH/version diff --git a/version b/version new file mode 100644 index 00000000..1fe43e4f --- /dev/null +++ b/version @@ -0,0 +1 @@ +3.0.0-RC From f2021a95a4067d6d8a4395c860b78e723ee6ae88 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 5 Oct 2025 12:30:43 -0400 Subject: [PATCH 019/209] Login and UKI updates (#1860) * Change DM to SDDM * Move to custom named UKI * Skip creation on Mac * Add entry to make sure VSCode uses gnome keyring * Fix order for UKI generation * Limine only * BTRFS only --- bin/omarchy-install-vscode | 21 +++ bin/omarchy-menu | 2 +- install/login/all.sh | 4 +- install/login/alt-bootloaders.sh | 115 --------------- install/login/default-keyring.sh | 20 +++ install/login/enable-mkinitcpio.sh | 18 --- install/login/limine-snapper.sh | 44 ++++-- install/login/plymouth.sh | 147 -------------------- install/login/sddm.sh | 14 ++ install/omarchy-base.packages | 2 + install/preflight/guard.sh | 6 + migrations/1758487660_change_dm_to_sddm.sh | 24 ++++ migrations/1758487662_move_to_custom_uki.sh | 38 +++++ 13 files changed, 164 insertions(+), 291 deletions(-) create mode 100755 bin/omarchy-install-vscode delete mode 100644 install/login/alt-bootloaders.sh create mode 100644 install/login/default-keyring.sh delete mode 100644 install/login/enable-mkinitcpio.sh create mode 100644 install/login/sddm.sh create mode 100755 migrations/1758487660_change_dm_to_sddm.sh create mode 100644 migrations/1758487662_move_to_custom_uki.sh diff --git a/bin/omarchy-install-vscode b/bin/omarchy-install-vscode new file mode 100755 index 00000000..4a081c15 --- /dev/null +++ b/bin/omarchy-install-vscode @@ -0,0 +1,21 @@ +#!/bin/bash + +echo "Installing VSCode..." +omarchy-pkg-add visual-studio-code-bin + +mkdir -p ~/.vscode + +cat > ~/.vscode/argv.json << 'EOF' +// This configuration file allows you to pass permanent command line arguments to VS Code. +// Only a subset of arguments is currently supported to reduce the likelihood of breaking +// the installation. +// +// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT +// +// NOTE: Changing this file requires a restart of VS Code. +{ + "password-store":"gnome-libsecret" +} +EOF + +setsid gtk-launch code diff --git a/bin/omarchy-menu b/bin/omarchy-menu index e18c247b..3c1f0055 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -260,7 +260,7 @@ show_install_service_menu() { show_install_editor_menu() { case $(menu "Install" " VSCode\n Cursor\n Zed\n Sublime Text\n Helix\n Emacs") in - *VSCode*) install_and_launch "VSCode" "visual-studio-code-bin" "code" ;; + *VSCode*) present_terminal omarchy-install-vscode ;; *Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;; *Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;; *Sublime*) aur_install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;; diff --git a/install/login/all.sh b/install/login/all.sh index e4be282f..2c03df32 100644 --- a/install/login/all.sh +++ b/install/login/all.sh @@ -1,4 +1,4 @@ run_logged $OMARCHY_INSTALL/login/plymouth.sh +run_logged $OMARCHY_INSTALL/login/default-keyring.sh +run_logged $OMARCHY_INSTALL/login/sddm.sh run_logged $OMARCHY_INSTALL/login/limine-snapper.sh -run_logged $OMARCHY_INSTALL/login/enable-mkinitcpio.sh -run_logged $OMARCHY_INSTALL/login/alt-bootloaders.sh diff --git a/install/login/alt-bootloaders.sh b/install/login/alt-bootloaders.sh deleted file mode 100644 index bb35d9b0..00000000 --- a/install/login/alt-bootloaders.sh +++ /dev/null @@ -1,115 +0,0 @@ -if ! command -v limine &>/dev/null; then - # Add kernel hooks - if ! grep -Eq '^HOOKS=.*plymouth' /etc/mkinitcpio.conf; then - # Backup original mkinitcpio.conf just in case - backup_timestamp=$(date +"%Y%m%d%H%M%S") - sudo cp /etc/mkinitcpio.conf "/etc/mkinitcpio.conf.bak.${backup_timestamp}" - - # Add plymouth to HOOKS array after 'base udev' or 'base systemd' - if grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base systemd"; then - sudo sed -i '/^HOOKS=/s/base systemd/base systemd plymouth/' /etc/mkinitcpio.conf - elif grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base udev"; then - sudo sed -i '/^HOOKS=/s/base udev/base udev plymouth/' /etc/mkinitcpio.conf - else - echo "Couldn't add the Plymouth hook" - fi - - # Regenerate initramfs - sudo mkinitcpio -P - fi - - # Add kernel parameters for Plymouth - if [ -d "/boot/loader/entries" ]; then # systemd-boot - echo "Detected systemd-boot" - - for entry in /boot/loader/entries/*.conf; do - if [ -f "$entry" ]; then - # Skip fallback entries - if [[ "$(basename "$entry")" == *"fallback"* ]]; then - echo "Skipped: $(basename "$entry") (fallback entry)" - continue - fi - - # Skip if splash it already present for some reason - if ! grep -q "splash" "$entry"; then - sudo sed -i '/^options/ s/$/ splash quiet/' "$entry" - else - echo "Skipped: $(basename "$entry") (splash already present)" - fi - fi - done - elif [ -f "/etc/default/grub" ]; then # Grub - echo "Detected grub" - - # Backup GRUB config before modifying - backup_timestamp=$(date +"%Y%m%d%H%M%S") - sudo cp /etc/default/grub "/etc/default/grub.bak.${backup_timestamp}" - - # Check if splash is already in GRUB_CMDLINE_LINUX_DEFAULT - if ! grep -q "GRUB_CMDLINE_LINUX_DEFAULT.*splash" /etc/default/grub; then - # Get current GRUB_CMDLINE_LINUX_DEFAULT value - current_cmdline=$(grep "^GRUB_CMDLINE_LINUX_DEFAULT=" /etc/default/grub | cut -d'"' -f2) - - # Add splash and quiet if not present - new_cmdline="$current_cmdline" - if [[ ! "$current_cmdline" =~ splash ]]; then - new_cmdline="$new_cmdline splash" - fi - if [[ ! "$current_cmdline" =~ quiet ]]; then - new_cmdline="$new_cmdline quiet" - fi - - # Trim any leading/trailing spaces - new_cmdline=$(echo "$new_cmdline" | xargs) - - sudo sed -i "s/^GRUB_CMDLINE_LINUX_DEFAULT=\".*\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$new_cmdline\"/" /etc/default/grub - - # Regenerate grub config - sudo grub-mkconfig -o /boot/grub/grub.cfg - else - echo "GRUB already configured with splash kernel parameters" - fi - elif [ -d "/etc/cmdline.d" ]; then # UKI - echo "Detected a UKI setup" - # Relying on mkinitcpio to assemble a UKI - # https://wiki.archlinux.org/title/Unified_kernel_image - if ! grep -q splash /etc/cmdline.d/*.conf; then - # Need splash, create the omarchy file - echo "splash" | sudo tee -a /etc/cmdline.d/omarchy.conf - fi - if ! grep -q quiet /etc/cmdline.d/*.conf; then - # Need quiet, create or append the omarchy file - echo "quiet" | sudo tee -a /etc/cmdline.d/omarchy.conf - fi - elif [ -f "/etc/kernel/cmdline" ]; then # UKI Alternate - # Alternate UKI kernel cmdline location - echo "Detected a UKI setup" - - # Backup kernel cmdline config before modifying - backup_timestamp=$(date +"%Y%m%d%H%M%S") - sudo cp /etc/kernel/cmdline "/etc/kernel/cmdline.bak.${backup_timestamp}" - - current_cmdline=$(cat /etc/kernel/cmdline) - - # Add splash and quiet if not present - new_cmdline="$current_cmdline" - if [[ ! "$current_cmdline" =~ splash ]]; then - new_cmdline="$new_cmdline splash" - fi - if [[ ! "$current_cmdline" =~ quiet ]]; then - new_cmdline="$new_cmdline quiet" - fi - - # Trim any leading/trailing spaces - new_cmdline=$(echo "$new_cmdline" | xargs) - - # Write new file - echo $new_cmdline | sudo tee /etc/kernel/cmdline - else - echo "" - echo " None of systemd-boot, GRUB, or UKI detected. Please manually add these kernel parameters:" - echo " - splash (to see the graphical splash screen)" - echo " - quiet (for silent boot)" - echo "" - fi -fi diff --git a/install/login/default-keyring.sh b/install/login/default-keyring.sh new file mode 100644 index 00000000..52c94301 --- /dev/null +++ b/install/login/default-keyring.sh @@ -0,0 +1,20 @@ +KEYRING_DIR="$HOME/.local/share/keyrings" +KEYRING_FILE="Default_keyring.keyring" +DEFAULT_FILE="default" + +cat << EOF | tee "$KEYRING_FILE" +[keyring] +display-name=Default keyring +ctime=$(date +%s) +mtime=0 +lock-on-idle=false +lock-after=false +EOF + +cat << EOF | tee "$DEFAULT_FILE" +Default_keyring +EOF + +chmod 700 "$KEYRING_DIR" +chmod 600 "$KEYRING_FILE" +chmod 644 "$DEFAULT_FILE" diff --git a/install/login/enable-mkinitcpio.sh b/install/login/enable-mkinitcpio.sh deleted file mode 100644 index 7422d8db..00000000 --- a/install/login/enable-mkinitcpio.sh +++ /dev/null @@ -1,18 +0,0 @@ -echo "Re-enabling mkinitcpio hooks..." - -# Restore the specific mkinitcpio pacman hooks -if [ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]; then - sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook -fi - -if [ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]; then - sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook -fi - -echo "mkinitcpio hooks re-enabled" - -if command -v limine &>/dev/null; then - sudo limine-update -else - sudo mkinitcpio -P -fi diff --git a/install/login/limine-snapper.sh b/install/login/limine-snapper.sh index 2d9dc292..6a037207 100644 --- a/install/login/limine-snapper.sh +++ b/install/login/limine-snapper.sh @@ -1,4 +1,6 @@ if command -v limine &>/dev/null; then + sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook + sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf </dev/null HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs) EOF @@ -34,6 +36,7 @@ KERNEL_CMDLINE[default]="$CMDLINE" KERNEL_CMDLINE[default]+="quiet splash" ENABLE_UKI=yes +CUSTOM_UKI_NAME="omarchy" ENABLE_LIMINE_FALLBACK=yes @@ -75,7 +78,6 @@ term_background_bright: 24283b EOF - sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook # Match Snapper configs if not installing from the ISO if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then @@ -96,13 +98,39 @@ EOF chrootable_systemctl_enable limine-snapper-sync.service fi -# Add UKI entry to UEFI machines to skip bootloader showing on normal boot -if [[ -n $EFI ]] && efibootmgr &>/dev/null && ! efibootmgr | grep -q Omarchy && +echo "Re-enabling mkinitcpio hooks..." + +# Restore the specific mkinitcpio pacman hooks +if [ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]; then + sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook +fi + +if [ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]; then + sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook +fi + +echo "mkinitcpio hooks re-enabled" + +sudo limine-update + +if [[ -n $EFI ]] && efibootmgr &>/dev/null; then + # 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/') +fi + +if [[ -n $EFI ]] && efibootmgr &>/dev/null && ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends" && ! 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\\$(cat /etc/machine-id)_linux.efi" + + uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1) + + if [[ -n "$uki_file" ]]; 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 diff --git a/install/login/plymouth.sh b/install/login/plymouth.sh index 72102f27..fad64fe2 100644 --- a/install/login/plymouth.sh +++ b/install/login/plymouth.sh @@ -1,151 +1,4 @@ -# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security - -# ============================================================================== -# PLYMOUTH SETUP -# ============================================================================== - if [ "$(plymouth-set-default-theme)" != "omarchy" ]; then sudo cp -r "$HOME/.local/share/omarchy/default/plymouth" /usr/share/plymouth/themes/omarchy/ sudo plymouth-set-default-theme omarchy fi - -# ============================================================================== -# SEAMLESS LOGIN -# ============================================================================== - -if [ ! -x /usr/local/bin/seamless-login ]; then - # Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop - cat <<'CCODE' >/tmp/seamless-login.c -/* -* Seamless Login - Minimal SDDM-style Plymouth transition -* Replicates SDDM's VT management for seamless auto-login -*/ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char *argv[]) { - int vt_fd; - int vt_num = 1; // TTY1 - char vt_path[32]; - - if (argc < 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); - return 1; - } - - // Open the VT (simple approach like SDDM) - snprintf(vt_path, sizeof(vt_path), "/dev/tty%d", vt_num); - vt_fd = open(vt_path, O_RDWR); - if (vt_fd < 0) { - perror("Failed to open VT"); - return 1; - } - - // Activate the VT - if (ioctl(vt_fd, VT_ACTIVATE, vt_num) < 0) { - perror("VT_ACTIVATE failed"); - close(vt_fd); - return 1; - } - - // Wait for VT to be active - if (ioctl(vt_fd, VT_WAITACTIVE, vt_num) < 0) { - perror("VT_WAITACTIVE failed"); - close(vt_fd); - return 1; - } - - // Critical: Set graphics mode to prevent console text - if (ioctl(vt_fd, KDSETMODE, KD_GRAPHICS) < 0) { - perror("KDSETMODE KD_GRAPHICS failed"); - close(vt_fd); - return 1; - } - - // Clear VT and close (like SDDM does) - const char *clear_seq = "\33[H\33[2J"; - if (write(vt_fd, clear_seq, strlen(clear_seq)) < 0) { - perror("Failed to clear VT"); - } - - close(vt_fd); - - // Set working directory to user's home - const char *home = getenv("HOME"); - if (home) chdir(home); - - // Now execute the session command - execvp(argv[1], &argv[1]); - perror("Failed to exec session"); - return 1; -} -CCODE - - gcc -o /tmp/seamless-login /tmp/seamless-login.c - sudo mv /tmp/seamless-login /usr/local/bin/seamless-login - sudo chmod +x /usr/local/bin/seamless-login - rm /tmp/seamless-login.c -fi - -if [ ! -f /etc/systemd/system/omarchy-seamless-login.service ]; then - cat </dev/null && abort "Fresh + Vanilla Arch" pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch" +# Must have limine installed +command -v limine &>/dev/null || abort "Limine bootloader" + +# Must have btrfs root filesystem +[ "$(findmnt -n -o FSTYPE /)" = "btrfs" ] || abort "Btrfs root filesystem" + # Cleared all guards echo "Guards: OK" diff --git a/migrations/1758487660_change_dm_to_sddm.sh b/migrations/1758487660_change_dm_to_sddm.sh new file mode 100755 index 00000000..23d62447 --- /dev/null +++ b/migrations/1758487660_change_dm_to_sddm.sh @@ -0,0 +1,24 @@ +echo "Change display manager to SDDM" + +sudo pacman -S --needed --noconfirm sddm libsecret gnome-keyring + +sudo mkdir -p /etc/sddm.conf.d + +cat </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 + From 5f2013a482ccfc7bd4151dff142e00ce90264733 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 5 Oct 2025 21:09:56 +0200 Subject: [PATCH 020/209] Correct the path for asdcontrol on new installations --- install/config/sudoless-asdcontrol.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/sudoless-asdcontrol.sh b/install/config/sudoless-asdcontrol.sh index 120c6fc2..5ae03563 100644 --- a/install/config/sudoless-asdcontrol.sh +++ b/install/config/sudoless-asdcontrol.sh @@ -1,3 +1,3 @@ # Setup sudo-less controls for controlling brightness on Apple Displays -echo "$USER ALL=(ALL) NOPASSWD: /usr/local/bin/asdcontrol" | sudo tee /etc/sudoers.d/asdcontrol +echo "$USER ALL=(ALL) NOPASSWD: /usr/bin/asdcontrol" | sudo tee /etc/sudoers.d/asdcontrol sudo chmod 440 /etc/sudoers.d/asdcontrol From cab70bbe4fc9a5ddb89cc9a0193155885af4d12c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 5 Oct 2025 21:10:13 +0200 Subject: [PATCH 021/209] Revert "Login and UKI updates (#1860)" This reverts commit f2021a95a4067d6d8a4395c860b78e723ee6ae88. --- bin/omarchy-install-vscode | 21 --- bin/omarchy-menu | 2 +- install/login/all.sh | 4 +- install/login/alt-bootloaders.sh | 115 +++++++++++++++ install/login/default-keyring.sh | 20 --- install/login/enable-mkinitcpio.sh | 18 +++ install/login/limine-snapper.sh | 44 ++---- install/login/plymouth.sh | 147 ++++++++++++++++++++ install/login/sddm.sh | 14 -- install/omarchy-base.packages | 2 - install/preflight/guard.sh | 6 - migrations/1758487660_change_dm_to_sddm.sh | 24 ---- migrations/1758487662_move_to_custom_uki.sh | 38 ----- 13 files changed, 291 insertions(+), 164 deletions(-) delete mode 100755 bin/omarchy-install-vscode create mode 100644 install/login/alt-bootloaders.sh delete mode 100644 install/login/default-keyring.sh create mode 100644 install/login/enable-mkinitcpio.sh delete mode 100644 install/login/sddm.sh delete mode 100755 migrations/1758487660_change_dm_to_sddm.sh delete mode 100644 migrations/1758487662_move_to_custom_uki.sh diff --git a/bin/omarchy-install-vscode b/bin/omarchy-install-vscode deleted file mode 100755 index 4a081c15..00000000 --- a/bin/omarchy-install-vscode +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -echo "Installing VSCode..." -omarchy-pkg-add visual-studio-code-bin - -mkdir -p ~/.vscode - -cat > ~/.vscode/argv.json << 'EOF' -// This configuration file allows you to pass permanent command line arguments to VS Code. -// Only a subset of arguments is currently supported to reduce the likelihood of breaking -// the installation. -// -// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT -// -// NOTE: Changing this file requires a restart of VS Code. -{ - "password-store":"gnome-libsecret" -} -EOF - -setsid gtk-launch code diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 3c1f0055..e18c247b 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -260,7 +260,7 @@ show_install_service_menu() { show_install_editor_menu() { case $(menu "Install" " VSCode\n Cursor\n Zed\n Sublime Text\n Helix\n Emacs") in - *VSCode*) present_terminal omarchy-install-vscode ;; + *VSCode*) install_and_launch "VSCode" "visual-studio-code-bin" "code" ;; *Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;; *Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;; *Sublime*) aur_install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;; diff --git a/install/login/all.sh b/install/login/all.sh index 2c03df32..e4be282f 100644 --- a/install/login/all.sh +++ b/install/login/all.sh @@ -1,4 +1,4 @@ run_logged $OMARCHY_INSTALL/login/plymouth.sh -run_logged $OMARCHY_INSTALL/login/default-keyring.sh -run_logged $OMARCHY_INSTALL/login/sddm.sh run_logged $OMARCHY_INSTALL/login/limine-snapper.sh +run_logged $OMARCHY_INSTALL/login/enable-mkinitcpio.sh +run_logged $OMARCHY_INSTALL/login/alt-bootloaders.sh diff --git a/install/login/alt-bootloaders.sh b/install/login/alt-bootloaders.sh new file mode 100644 index 00000000..bb35d9b0 --- /dev/null +++ b/install/login/alt-bootloaders.sh @@ -0,0 +1,115 @@ +if ! command -v limine &>/dev/null; then + # Add kernel hooks + if ! grep -Eq '^HOOKS=.*plymouth' /etc/mkinitcpio.conf; then + # Backup original mkinitcpio.conf just in case + backup_timestamp=$(date +"%Y%m%d%H%M%S") + sudo cp /etc/mkinitcpio.conf "/etc/mkinitcpio.conf.bak.${backup_timestamp}" + + # Add plymouth to HOOKS array after 'base udev' or 'base systemd' + if grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base systemd"; then + sudo sed -i '/^HOOKS=/s/base systemd/base systemd plymouth/' /etc/mkinitcpio.conf + elif grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base udev"; then + sudo sed -i '/^HOOKS=/s/base udev/base udev plymouth/' /etc/mkinitcpio.conf + else + echo "Couldn't add the Plymouth hook" + fi + + # Regenerate initramfs + sudo mkinitcpio -P + fi + + # Add kernel parameters for Plymouth + if [ -d "/boot/loader/entries" ]; then # systemd-boot + echo "Detected systemd-boot" + + for entry in /boot/loader/entries/*.conf; do + if [ -f "$entry" ]; then + # Skip fallback entries + if [[ "$(basename "$entry")" == *"fallback"* ]]; then + echo "Skipped: $(basename "$entry") (fallback entry)" + continue + fi + + # Skip if splash it already present for some reason + if ! grep -q "splash" "$entry"; then + sudo sed -i '/^options/ s/$/ splash quiet/' "$entry" + else + echo "Skipped: $(basename "$entry") (splash already present)" + fi + fi + done + elif [ -f "/etc/default/grub" ]; then # Grub + echo "Detected grub" + + # Backup GRUB config before modifying + backup_timestamp=$(date +"%Y%m%d%H%M%S") + sudo cp /etc/default/grub "/etc/default/grub.bak.${backup_timestamp}" + + # Check if splash is already in GRUB_CMDLINE_LINUX_DEFAULT + if ! grep -q "GRUB_CMDLINE_LINUX_DEFAULT.*splash" /etc/default/grub; then + # Get current GRUB_CMDLINE_LINUX_DEFAULT value + current_cmdline=$(grep "^GRUB_CMDLINE_LINUX_DEFAULT=" /etc/default/grub | cut -d'"' -f2) + + # Add splash and quiet if not present + new_cmdline="$current_cmdline" + if [[ ! "$current_cmdline" =~ splash ]]; then + new_cmdline="$new_cmdline splash" + fi + if [[ ! "$current_cmdline" =~ quiet ]]; then + new_cmdline="$new_cmdline quiet" + fi + + # Trim any leading/trailing spaces + new_cmdline=$(echo "$new_cmdline" | xargs) + + sudo sed -i "s/^GRUB_CMDLINE_LINUX_DEFAULT=\".*\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$new_cmdline\"/" /etc/default/grub + + # Regenerate grub config + sudo grub-mkconfig -o /boot/grub/grub.cfg + else + echo "GRUB already configured with splash kernel parameters" + fi + elif [ -d "/etc/cmdline.d" ]; then # UKI + echo "Detected a UKI setup" + # Relying on mkinitcpio to assemble a UKI + # https://wiki.archlinux.org/title/Unified_kernel_image + if ! grep -q splash /etc/cmdline.d/*.conf; then + # Need splash, create the omarchy file + echo "splash" | sudo tee -a /etc/cmdline.d/omarchy.conf + fi + if ! grep -q quiet /etc/cmdline.d/*.conf; then + # Need quiet, create or append the omarchy file + echo "quiet" | sudo tee -a /etc/cmdline.d/omarchy.conf + fi + elif [ -f "/etc/kernel/cmdline" ]; then # UKI Alternate + # Alternate UKI kernel cmdline location + echo "Detected a UKI setup" + + # Backup kernel cmdline config before modifying + backup_timestamp=$(date +"%Y%m%d%H%M%S") + sudo cp /etc/kernel/cmdline "/etc/kernel/cmdline.bak.${backup_timestamp}" + + current_cmdline=$(cat /etc/kernel/cmdline) + + # Add splash and quiet if not present + new_cmdline="$current_cmdline" + if [[ ! "$current_cmdline" =~ splash ]]; then + new_cmdline="$new_cmdline splash" + fi + if [[ ! "$current_cmdline" =~ quiet ]]; then + new_cmdline="$new_cmdline quiet" + fi + + # Trim any leading/trailing spaces + new_cmdline=$(echo "$new_cmdline" | xargs) + + # Write new file + echo $new_cmdline | sudo tee /etc/kernel/cmdline + else + echo "" + echo " None of systemd-boot, GRUB, or UKI detected. Please manually add these kernel parameters:" + echo " - splash (to see the graphical splash screen)" + echo " - quiet (for silent boot)" + echo "" + fi +fi diff --git a/install/login/default-keyring.sh b/install/login/default-keyring.sh deleted file mode 100644 index 52c94301..00000000 --- a/install/login/default-keyring.sh +++ /dev/null @@ -1,20 +0,0 @@ -KEYRING_DIR="$HOME/.local/share/keyrings" -KEYRING_FILE="Default_keyring.keyring" -DEFAULT_FILE="default" - -cat << EOF | tee "$KEYRING_FILE" -[keyring] -display-name=Default keyring -ctime=$(date +%s) -mtime=0 -lock-on-idle=false -lock-after=false -EOF - -cat << EOF | tee "$DEFAULT_FILE" -Default_keyring -EOF - -chmod 700 "$KEYRING_DIR" -chmod 600 "$KEYRING_FILE" -chmod 644 "$DEFAULT_FILE" diff --git a/install/login/enable-mkinitcpio.sh b/install/login/enable-mkinitcpio.sh new file mode 100644 index 00000000..7422d8db --- /dev/null +++ b/install/login/enable-mkinitcpio.sh @@ -0,0 +1,18 @@ +echo "Re-enabling mkinitcpio hooks..." + +# Restore the specific mkinitcpio pacman hooks +if [ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]; then + sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook +fi + +if [ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]; then + sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook +fi + +echo "mkinitcpio hooks re-enabled" + +if command -v limine &>/dev/null; then + sudo limine-update +else + sudo mkinitcpio -P +fi diff --git a/install/login/limine-snapper.sh b/install/login/limine-snapper.sh index 6a037207..2d9dc292 100644 --- a/install/login/limine-snapper.sh +++ b/install/login/limine-snapper.sh @@ -1,6 +1,4 @@ if command -v limine &>/dev/null; then - sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook - sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf </dev/null HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs) EOF @@ -36,7 +34,6 @@ KERNEL_CMDLINE[default]="$CMDLINE" KERNEL_CMDLINE[default]+="quiet splash" ENABLE_UKI=yes -CUSTOM_UKI_NAME="omarchy" ENABLE_LIMINE_FALLBACK=yes @@ -78,6 +75,7 @@ term_background_bright: 24283b EOF + sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook # Match Snapper configs if not installing from the ISO if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then @@ -98,39 +96,13 @@ EOF chrootable_systemctl_enable limine-snapper-sync.service fi -echo "Re-enabling mkinitcpio hooks..." - -# Restore the specific mkinitcpio pacman hooks -if [ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]; then - sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook -fi - -if [ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]; then - sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook -fi - -echo "mkinitcpio hooks re-enabled" - -sudo limine-update - -if [[ -n $EFI ]] && efibootmgr &>/dev/null; then - # 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/') -fi - -if [[ -n $EFI ]] && efibootmgr &>/dev/null && +# Add UKI entry to UEFI machines to skip bootloader showing on normal boot +if [[ -n $EFI ]] && efibootmgr &>/dev/null && ! efibootmgr | grep -q Omarchy && ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends" && ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then - - uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1) - - if [[ -n "$uki_file" ]]; 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 + 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\\$(cat /etc/machine-id)_linux.efi" fi diff --git a/install/login/plymouth.sh b/install/login/plymouth.sh index fad64fe2..72102f27 100644 --- a/install/login/plymouth.sh +++ b/install/login/plymouth.sh @@ -1,4 +1,151 @@ +# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security + +# ============================================================================== +# PLYMOUTH SETUP +# ============================================================================== + if [ "$(plymouth-set-default-theme)" != "omarchy" ]; then sudo cp -r "$HOME/.local/share/omarchy/default/plymouth" /usr/share/plymouth/themes/omarchy/ sudo plymouth-set-default-theme omarchy fi + +# ============================================================================== +# SEAMLESS LOGIN +# ============================================================================== + +if [ ! -x /usr/local/bin/seamless-login ]; then + # Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop + cat <<'CCODE' >/tmp/seamless-login.c +/* +* Seamless Login - Minimal SDDM-style Plymouth transition +* Replicates SDDM's VT management for seamless auto-login +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) { + int vt_fd; + int vt_num = 1; // TTY1 + char vt_path[32]; + + if (argc < 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + return 1; + } + + // Open the VT (simple approach like SDDM) + snprintf(vt_path, sizeof(vt_path), "/dev/tty%d", vt_num); + vt_fd = open(vt_path, O_RDWR); + if (vt_fd < 0) { + perror("Failed to open VT"); + return 1; + } + + // Activate the VT + if (ioctl(vt_fd, VT_ACTIVATE, vt_num) < 0) { + perror("VT_ACTIVATE failed"); + close(vt_fd); + return 1; + } + + // Wait for VT to be active + if (ioctl(vt_fd, VT_WAITACTIVE, vt_num) < 0) { + perror("VT_WAITACTIVE failed"); + close(vt_fd); + return 1; + } + + // Critical: Set graphics mode to prevent console text + if (ioctl(vt_fd, KDSETMODE, KD_GRAPHICS) < 0) { + perror("KDSETMODE KD_GRAPHICS failed"); + close(vt_fd); + return 1; + } + + // Clear VT and close (like SDDM does) + const char *clear_seq = "\33[H\33[2J"; + if (write(vt_fd, clear_seq, strlen(clear_seq)) < 0) { + perror("Failed to clear VT"); + } + + close(vt_fd); + + // Set working directory to user's home + const char *home = getenv("HOME"); + if (home) chdir(home); + + // Now execute the session command + execvp(argv[1], &argv[1]); + perror("Failed to exec session"); + return 1; +} +CCODE + + gcc -o /tmp/seamless-login /tmp/seamless-login.c + sudo mv /tmp/seamless-login /usr/local/bin/seamless-login + sudo chmod +x /usr/local/bin/seamless-login + rm /tmp/seamless-login.c +fi + +if [ ! -f /etc/systemd/system/omarchy-seamless-login.service ]; then + cat </dev/null && abort "Fresh + Vanilla Arch" pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch" -# Must have limine installed -command -v limine &>/dev/null || abort "Limine bootloader" - -# Must have btrfs root filesystem -[ "$(findmnt -n -o FSTYPE /)" = "btrfs" ] || abort "Btrfs root filesystem" - # Cleared all guards echo "Guards: OK" diff --git a/migrations/1758487660_change_dm_to_sddm.sh b/migrations/1758487660_change_dm_to_sddm.sh deleted file mode 100755 index 23d62447..00000000 --- a/migrations/1758487660_change_dm_to_sddm.sh +++ /dev/null @@ -1,24 +0,0 @@ -echo "Change display manager to SDDM" - -sudo pacman -S --needed --noconfirm sddm libsecret gnome-keyring - -sudo mkdir -p /etc/sddm.conf.d - -cat </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 - From 3cb52c0b38f3cc2c60906acf7825b2dd8a2370ea Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 5 Oct 2025 21:18:34 +0200 Subject: [PATCH 022/209] Correct bad path for sudoless Apple Display controls --- migrations/1759691413.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 migrations/1759691413.sh diff --git a/migrations/1759691413.sh b/migrations/1759691413.sh new file mode 100644 index 00000000..37fefa7c --- /dev/null +++ b/migrations/1759691413.sh @@ -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 From d4fddd7c755adf06208704d9bbfee384c6913c2d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 5 Oct 2025 21:19:27 +0200 Subject: [PATCH 023/209] Interesting idea, but then we should do it across everything And update omarchy-dev-add-migration --- migrations/{1758564460_enable_fast_shutdown.sh => 1758564460.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename migrations/{1758564460_enable_fast_shutdown.sh => 1758564460.sh} (100%) diff --git a/migrations/1758564460_enable_fast_shutdown.sh b/migrations/1758564460.sh similarity index 100% rename from migrations/1758564460_enable_fast_shutdown.sh rename to migrations/1758564460.sh From bb4df39bbd2a4f270f6b61f3b37c162d83df2995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=BCndel?= Date: Sun, 5 Oct 2025 21:36:49 +0200 Subject: [PATCH 024/209] Remove background process from walker service in autostart configuration (#2235) --- default/hypr/autostart.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/hypr/autostart.conf b/default/hypr/autostart.conf index 5c2f60b1..f646aac5 100644 --- a/default/hypr/autostart.conf +++ b/default/hypr/autostart.conf @@ -4,7 +4,7 @@ exec-once = uwsm app -- waybar exec-once = uwsm app -- fcitx5 exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill exec-once = uwsm app -- swayosd-server -exec-once = uwsm app -- walker --gapplication-service & +exec-once = uwsm app -- walker --gapplication-service exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+' exec-once = omarchy-cmd-first-run From 479f20d294726270484120179675fcd4e711a7b2 Mon Sep 17 00:00:00 2001 From: CHINMOY SAIKIA <120454422+AlwaysRead@users.noreply.github.com> Date: Mon, 6 Oct 2025 01:10:31 +0530 Subject: [PATCH 025/209] Fix Neovim .desktop file to open files from GUI file manager (#2233) * Fix comment * Update Exec command to use shell execution for Nvim Fix Neovim .desktop file to allow opening files from GUI file manager. * Add migration --------- Co-authored-by: David Heinemeier Hansson --- applications/nvim.desktop | 2 +- default/hypr/apps/steam.conf | 2 +- migrations/1759693134.sh | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 migrations/1759693134.sh diff --git a/applications/nvim.desktop b/applications/nvim.desktop index ed118590..b064c32e 100644 --- a/applications/nvim.desktop +++ b/applications/nvim.desktop @@ -2,7 +2,7 @@ Name=Neovim GenericName=Text Editor Comment=Edit text files -Exec=$TERMINAL --class=nvim --title=nvim -e nvim -- %F +Exec=sh -c "$TERMINAL --class=nvim --title=nvim -e nvim -- %F" Terminal=false Type=Application Keywords=Text;editor; diff --git a/default/hypr/apps/steam.conf b/default/hypr/apps/steam.conf index bd6386cc..77d8a4bc 100644 --- a/default/hypr/apps/steam.conf +++ b/default/hypr/apps/steam.conf @@ -1,4 +1,4 @@ -# Float Steam, fullscreen RetroArch +# Float Steam windowrule = float, class:steam windowrule = center, class:steam, title:Steam windowrule = opacity 1 1, class:steam diff --git a/migrations/1759693134.sh b/migrations/1759693134.sh new file mode 100644 index 00000000..015fd8e0 --- /dev/null +++ b/migrations/1759693134.sh @@ -0,0 +1,3 @@ +echo "Fix opening in nvim from files manager" + +cp -f $OMARCHY_PATH/applications/nvim.desktop ~/.local/share/applications/nvim.desktop From 9c24150e69ff34d30d1acd1c971a919cc91d8910 Mon Sep 17 00:00:00 2001 From: Pastilhas Date: Sun, 5 Oct 2025 20:46:23 +0100 Subject: [PATCH 026/209] added gnome-disk-utility to base-packages (#2230) * Fix comment * added gnome-disk-utility next to nautilus in install/omarchy-base-packages --------- Co-authored-by: David Heinemeier Hansson --- install/omarchy-base.packages | 1 + 1 file changed, 1 insertion(+) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 7d408e22..e555db9b 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -68,6 +68,7 @@ mariadb-libs mise mpv nautilus +gnome-disk-utility noto-fonts noto-fonts-cjk noto-fonts-emoji From 164fc5ceb1c8daa9c9d160c745735003a17831f6 Mon Sep 17 00:00:00 2001 From: Gustave Denis <157362633+gustavedenis@users.noreply.github.com> Date: Sun, 5 Oct 2025 21:47:27 +0200 Subject: [PATCH 027/209] =?UTF-8?q?fix(eza):=20added=20correct=20light=20t?= =?UTF-8?q?heme=20for=20ros=C3=A9=20pine=20(#2214)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit correct light theme for rosé pine is rose-pine-dawn Co-authored-by: Gustave Denis --- themes/rose-pine/eza.yml | 192 +++++++++++++++++++-------------------- 1 file changed, 95 insertions(+), 97 deletions(-) diff --git a/themes/rose-pine/eza.yml b/themes/rose-pine/eza.yml index cc65ef0e..6597cb01 100644 --- a/themes/rose-pine/eza.yml +++ b/themes/rose-pine/eza.yml @@ -1,123 +1,121 @@ -# see https://github.com/eza-community/eza-themes/blob/main/themes/rose-pine.yml +# see https://github.com/eza-community/eza-themes/blob/main/themes/rose-pine-dawn.yml colourful: true # Colors are in format of: # color/paletteRef (Description) #color code -# Gold (Terminal Yellow) #f6c177 -# Love (Terminal Red) #eb6f92 -# Rose (Terminal Cyan) #ebbcba -# Base (Primary Background) #191724 -# Iris (Terminal Magenta) #c4a7e7 -# Foam (Terminal Blue) #9ccfd8 -# Pine (Terminal Green) #31748f -# Muted (Low Contrast Foreground) #6e6a86 -# Surface (Secondary Background Atop Base) #1f1d2e -# Overlay (Tertiary Background Atop Surface) #26233a -# Subtle (Medium Contrast Foreground) #908caa -# Text (High Contrast Foreground) #e0def4 -# Highlight Low (Low Contrast Highlight) #21202e -# Highlight Med (Medium Contrast Highlight) #403d52 -# Highlight High (High Contrast Highlight) #524f67 +# Gold (Terminal Yellow) #ea9d34 +# Love (Terminal Red) #b4637a +# Rose (Terminal Cyan) #d7827e +# Base (Primary Background) #faf4ed +# Iris (Terminal Magenta) #907aa9 +# Foam (Terminal Blue) #56949f +# Pine (Terminal Green) #286983 +# Text (High contrast foreground) #575279 +# Muted (Low Contrast Foreground) #9893a5 +# Subtle (Medium Contrast Foreground) #797593 +# Highlight Low (Low contrast highlight) #f4ede8 +# Highlight Med (Medium Contrast Highlight) #dfdad9 +# Highlight High (High Contrast Highlight) #cecacd filekinds: - normal: {foreground: "#e0def4"} - directory: {foreground: "#9ccfd8"} - symlink: {foreground: "#524f67"} - pipe: {foreground: "#908caa"} - block_device: {foreground: "#ebbcba"} - char_device: {foreground: "#f6c177"} - socket: {foreground: "#21202e"} - special: {foreground: "#c4a7e7"} - executable: {foreground: "#c4a7e7"} - mount_point: {foreground: "#403d52"} + normal: { foreground: "#575279" } + directory: { foreground: "#56949f" } + symlink: { foreground: "#cecacd" } + pipe: { foreground: "#797593" } + block_device: { foreground: "#d7827e" } + char_device: { foreground: "#ea9d34" } + socket: { foreground: "#f4ede8" } + special: { foreground: "#907aa9" } + executable: { foreground: "#907aa9" } + mount_point: { foreground: "#dfdad9" } perms: - user_read: {foreground: "#908caa"} - user_write: {foreground: "#403d52"} - user_execute_file: {foreground: "#c4a7e7"} - user_execute_other: {foreground: "#c4a7e7"} - group_read: {foreground: "#908caa"} - group_write: {foreground: "#403d52"} - group_execute: {foreground: "#c4a7e7"} - other_read: {foreground: "#908caa"} - other_write: {foreground: "#403d52"} - other_execute: {foreground: "#c4a7e7"} - special_user_file: {foreground: "#c4a7e7"} - special_other: {foreground: "#403d52"} - attribute: {foreground: "#908caa"} + user_read: { foreground: "#797593" } + user_write: { foreground: "#d7827e" } + user_execute_file: { foreground: "#907aa9" } + user_execute_other: { foreground: "#907aa9" } + group_read: { foreground: "#797593" } + group_write: { foreground: "#d7827e" } + group_execute: { foreground: "#907aa9" } + other_read: { foreground: "#797593" } + other_write: { foreground: "#d7827e" } + other_execute: { foreground: "#907aa9" } + special_user_file: { foreground: "#907aa9" } + special_other: { foreground: "#d7827e" } + attribute: { foreground: "#797593" } size: - major: {foreground: "#908caa"} - minor: {foreground: "#9ccfd8"} - number_byte: {foreground: "#908caa"} - number_kilo: {foreground: "#524f67"} - number_mega: {foreground: "#31748f"} - number_giga: {foreground: "#c4a7e7"} - number_huge: {foreground: "#c4a7e7"} - unit_byte: {foreground: "#908caa"} - unit_kilo: {foreground: "#31748f"} - unit_mega: {foreground: "#c4a7e7"} - unit_giga: {foreground: "#c4a7e7"} - unit_huge: {foreground: "#9ccfd8"} + major: { foreground: "#797593" } + minor: { foreground: "#56949f" } + number_byte: { foreground: "#797593" } + number_kilo: { foreground: "#cecacd" } + number_mega: { foreground: "#286983" } + number_giga: { foreground: "#907aa9" } + number_huge: { foreground: "#907aa9" } + unit_byte: { foreground: "#797593" } + unit_kilo: { foreground: "#286983" } + unit_mega: { foreground: "#907aa9" } + unit_giga: { foreground: "#907aa9" } + unit_huge: { foreground: "#56949f" } users: - user_you: {foreground: "#f6c177"} - user_root: {foreground: "#eb6f92"} - user_other: {foreground: "#c4a7e7"} - group_yours: {foreground: "#524f67"} - group_other: {foreground: "#6e6a86"} - group_root: {foreground: "#eb6f92"} + user_you: { foreground: "#ea9d34" } + user_root: { foreground: "#b4637a" } + user_other: { foreground: "#907aa9" } + group_yours: { foreground: "#cecacd" } + group_other: { foreground: "#9893a5" } + group_root: { foreground: "#b4637a" } links: - normal: {foreground: "#9ccfd8"} - multi_link_file: {foreground: "#31748f"} + normal: { foreground: "#56949f" } + multi_link_file: { foreground: "#286983" } git: - new: {foreground: "#9ccfd8"} - modified: {foreground: "#f6c177"} - deleted: {foreground: "#eb6f92"} - renamed: {foreground: "#31748f"} - typechange: {foreground: "#c4a7e7"} - ignored: {foreground: "#6e6a86"} - conflicted: {foreground: "#ebbcba"} + new: { foreground: "#56949f" } + modified: { foreground: "#ea9d34" } + deleted: { foreground: "#b4637a" } + renamed: { foreground: "#286983" } + typechange: { foreground: "#907aa9" } + ignored: { foreground: "#9893a5" } + conflicted: { foreground: "#d7827e" } git_repo: - branch_main: {foreground: "#908caa"} - branch_other: {foreground: "#c4a7e7"} - git_clean: {foreground: "#9ccfd8"} - git_dirty: {foreground: "#eb6f92"} + branch_main: { foreground: "#797593" } + branch_other: { foreground: "#907aa9" } + git_clean: { foreground: "#56949f" } + git_dirty: { foreground: "#b4637a" } security_context: - colon: {foreground: "#908caa"} - user: {foreground: "#9ccfd8"} - role: {foreground: "#c4a7e7"} - typ: {foreground: "#6e6a86"} - range: {foreground: "#c4a7e7"} + colon: { foreground: "#797593" } + user: { foreground: "#56949f" } + role: { foreground: "#907aa9" } + typ: { foreground: "#9893a5" } + range: { foreground: "#907aa9" } file_type: - image: {foreground: "#f6c177"} - video: {foreground: "#eb6f92"} - music: {foreground: "#9ccfd8"} - lossless: {foreground: "#6e6a86"} - crypto: {foreground: "#403d52"} - document: {foreground: "#908caa"} - compressed: {foreground: "#c4a7e7"} - temp: {foreground: "#ebbcba"} - compiled: {foreground: "#31748f"} - build: {foreground: "#6e6a86"} - source: {foreground: "#ebbcba"} + image: { foreground: "#ea9d34" } + video: { foreground: "#b4637a" } + music: { foreground: "#56949f" } + lossless: { foreground: "#9893a5" } + crypto: { foreground: "#dfdad9" } + document: { foreground: "#797593" } + compressed: { foreground: "#907aa9" } + temp: { foreground: "#d7827e" } + compiled: { foreground: "#286983" } + build: { foreground: "#9893a5" } + source: { foreground: "#d7827e" } -punctuation: {foreground: "#524f67"} -date: {foreground: "#31748f"} -inode: {foreground: "#908caa"} -blocks: {foreground: "#6e6a86"} -header: {foreground: "#908caa"} -octal: {foreground: "#9ccfd8"} -flags: {foreground: "#c4a7e7"} +punctuation: { foreground: "#cecacd" } +date: { foreground: "#286983" } +inode: { foreground: "#797593" } +blocks: { foreground: "#9893a5" } +header: { foreground: "#797593" } +octal: { foreground: "#56949f" } +flags: { foreground: "#907aa9" } -symlink_path: {foreground: "#9ccfd8"} -control_char: {foreground: "#31748f"} -broken_symlink: {foreground: "#eb6f92"} -broken_path_overlay: {foreground: "#524f67"} +symlink_path: { foreground: "#56949f" } +control_char: { foreground: "#286983" } +broken_symlink: { foreground: "#b4637a" } +broken_path_overlay: { foreground: "#cecacd" } From 443173e29d3bdde17f0455c5fcd914a9dedae3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=BCndel?= Date: Sun, 5 Oct 2025 21:54:36 +0200 Subject: [PATCH 028/209] Hide electron36 and electron37 from walker menu (#2183) * Hide electron36 and electron37 from walker menu * Add migration scriptt * Simplify migration --------- Co-authored-by: David Heinemeier Hansson --- applications/hidden/electron36.desktop | 2 ++ applications/hidden/electron37.desktop | 2 ++ migrations/1759093827.sh | 3 +++ 3 files changed, 7 insertions(+) create mode 100644 applications/hidden/electron36.desktop create mode 100644 applications/hidden/electron37.desktop create mode 100644 migrations/1759093827.sh diff --git a/applications/hidden/electron36.desktop b/applications/hidden/electron36.desktop new file mode 100644 index 00000000..e1e3e173 --- /dev/null +++ b/applications/hidden/electron36.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true diff --git a/applications/hidden/electron37.desktop b/applications/hidden/electron37.desktop new file mode 100644 index 00000000..e1e3e173 --- /dev/null +++ b/applications/hidden/electron37.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true diff --git a/migrations/1759093827.sh b/migrations/1759093827.sh new file mode 100644 index 00000000..69cf8963 --- /dev/null +++ b/migrations/1759093827.sh @@ -0,0 +1,3 @@ +echo "Adding hidden entries for electron apps" + +cp $OMARCHY_PATH/applications/hidden/electron*.desktop ~/.local/share/applications/ From ea7d98e6b746712bc2e2aa6c6577550c3b6ac315 Mon Sep 17 00:00:00 2001 From: IngridMorstrad Date: Sun, 5 Oct 2025 12:56:03 -0700 Subject: [PATCH 029/209] Fix typo in comments in input.conf (#2180) * Fix comment * Fix typo in comments in input.conf --------- Co-authored-by: David Heinemeier Hansson --- config/hypr/input.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/hypr/input.conf b/config/hypr/input.conf index 8a09359f..6bbee49b 100644 --- a/config/hypr/input.conf +++ b/config/hypr/input.conf @@ -12,7 +12,7 @@ input { # Start with numlock on by default numlock_by_default = true - # Increase sensitity for mouse/trackpack (default: 0) + # Increase sensitivity for mouse/trackpad (default: 0) # sensitivity = 0.35 touchpad { From 2316c2f365f75ab2b773569341ceb1365f8bac63 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 5 Oct 2025 21:59:39 +0200 Subject: [PATCH 030/209] Hide OpenJDK apps from app launcher --- applications/hidden/java-java-openjdk.desktop | 2 ++ applications/hidden/jconsole-java-openjdk.desktop | 2 ++ applications/hidden/jshell-java-openjdk.desktop | 2 ++ migrations/1759694076.sh | 4 ++++ 4 files changed, 10 insertions(+) create mode 100644 applications/hidden/java-java-openjdk.desktop create mode 100644 applications/hidden/jconsole-java-openjdk.desktop create mode 100644 applications/hidden/jshell-java-openjdk.desktop create mode 100644 migrations/1759694076.sh diff --git a/applications/hidden/java-java-openjdk.desktop b/applications/hidden/java-java-openjdk.desktop new file mode 100644 index 00000000..e1e3e173 --- /dev/null +++ b/applications/hidden/java-java-openjdk.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true diff --git a/applications/hidden/jconsole-java-openjdk.desktop b/applications/hidden/jconsole-java-openjdk.desktop new file mode 100644 index 00000000..e1e3e173 --- /dev/null +++ b/applications/hidden/jconsole-java-openjdk.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true diff --git a/applications/hidden/jshell-java-openjdk.desktop b/applications/hidden/jshell-java-openjdk.desktop new file mode 100644 index 00000000..e1e3e173 --- /dev/null +++ b/applications/hidden/jshell-java-openjdk.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true diff --git a/migrations/1759694076.sh b/migrations/1759694076.sh new file mode 100644 index 00000000..084d8e2b --- /dev/null +++ b/migrations/1759694076.sh @@ -0,0 +1,4 @@ +echo "Hide OpenJDK applications from app launcher" + +cp $OMARCHY_PATH/applications/hidden/*openjdk.desktop ~/.local/share/applications/ + From 5da10be63e91f2a36c8826cc224d1c5865b4e3dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Wn=C4=99trzak?= Date: Sun, 5 Oct 2025 22:02:22 +0200 Subject: [PATCH 031/209] Adjust database installation message to only one (#2192) * Fix comment * Adjust database installation message to only one Follow up to https://github.com/basecamp/omarchy/commit/e260d28f43d40de5f816a556b71ba479de74b728 --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-install-docker-dbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-install-docker-dbs b/bin/omarchy-install-docker-dbs index f7b624ad..112af1e2 100755 --- a/bin/omarchy-install-docker-dbs +++ b/bin/omarchy-install-docker-dbs @@ -3,7 +3,7 @@ options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB") if [[ "$#" -eq 0 ]]; then - choices=$(printf "%s\n" "${options[@]}" | gum choose --header "Select databases (space to select, return to install, esc to cancel)") || main_menu + choices=$(printf "%s\n" "${options[@]}" | gum choose --header "Select database (return to install, esc to cancel)") || main_menu else choices="$@" fi From 5aa39c926183b9371bfc738d50c00632a61c018e Mon Sep 17 00:00:00 2001 From: killeik <69602482+killeik@users.noreply.github.com> Date: Sun, 5 Oct 2025 23:13:16 +0300 Subject: [PATCH 032/209] Simple check to prevent secure boot issues (#2145) --- install/preflight/guard.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install/preflight/guard.sh b/install/preflight/guard.sh index 60a6c873..3ea3d68f 100644 --- a/install/preflight/guard.sh +++ b/install/preflight/guard.sh @@ -18,6 +18,9 @@ done # Must be x86 only to fully work [ "$(uname -m)" != "x86_64" ] && abort "x86_64 CPU" +# Must have secure boot disabled +bootctl status 2>/dev/null | grep -q 'Secure Boot: disabled' || abort "Secure Boot disabled" + # Must not have Gnome or KDE already install pacman -Qe gnome-shell &>/dev/null && abort "Fresh + Vanilla Arch" pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch" From 6aac67a1d53179e09ddaf71e9911b65efeb49a78 Mon Sep 17 00:00:00 2001 From: Jeff Mancilla <54294370+jeffmancilla@users.noreply.github.com> Date: Mon, 6 Oct 2025 14:27:49 -0500 Subject: [PATCH 033/209] Fix comment typos in bindings.conf (#2261) * Fix comment * Fix comment typos in bindings.conf Fixing some comment typos. --------- Co-authored-by: David Heinemeier Hansson --- config/hypr/bindings.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index b8e6ea31..72e71cc1 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -14,7 +14,7 @@ bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- sign bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm app -- obsidian -disable-gpu --enable-wayland-ime" bindd = SUPER, SLASH, Passwords, exec, uwsm app -- 1password -# If your web app url contains #, type it as ## to prevent hyperland treat it as comments +# If your web app url contains #, type it as ## to prevent hyprland from treating it as a comment bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" bindd = SUPER SHIFT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" bindd = SUPER, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" From 6892304277e0045dee15c79d6fa7f02c35b37f62 Mon Sep 17 00:00:00 2001 From: Damian Ignaczak Date: Mon, 6 Oct 2025 21:28:57 +0200 Subject: [PATCH 034/209] fix(presentation-terminal): Ensure consistent ASCII logo alignment (#2260) * Fix comment * fix(presentation-terminal): Ensure consistent ASCII logo alignment The presentation terminal's ASCII logo, displayed by 'omarchy-show-logo', would misalign if the user had a non-default font size set in their global Alacritty configuration. This change fixes the issue by explicitly setting the font size to 9 for this specific terminal instance using the flag. This approach guarantees correct rendering of the logo without overriding the user's personal font preferences for their regular terminal sessions. --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-launch-floating-terminal-with-presentation | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-launch-floating-terminal-with-presentation b/bin/omarchy-launch-floating-terminal-with-presentation index 0529f2ae..78e8b2db 100755 --- a/bin/omarchy-launch-floating-terminal-with-presentation +++ b/bin/omarchy-launch-floating-terminal-with-presentation @@ -1,4 +1,4 @@ #!/bin/bash cmd="$*" -exec setsid uwsm app -- alacritty --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" +exec setsid uwsm app -- alacritty -o font.size=9 --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" From 7a7266aed07c73ef46706fc0dc39ba63ac533d28 Mon Sep 17 00:00:00 2001 From: Lucas Goossen Date: Mon, 6 Oct 2025 16:49:44 -0300 Subject: [PATCH 035/209] Theme support for Cursor (#2015) * Imitating VSCode omarchy-theme-set * Changed VSCode theme setter take arguments to Cursor theme setter could call it. * All omarchy commands are in path --------- Co-authored-by: David Heinemeier Hansson Co-authored-by: @adelplace --- bin/omarchy-theme-set | 3 ++- bin/omarchy-theme-set-cursor | 4 ++++ bin/omarchy-theme-set-vscode | 40 ++++++++++++++++++++---------------- 3 files changed, 28 insertions(+), 19 deletions(-) create mode 100755 bin/omarchy-theme-set-cursor diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 73059712..5bebb0f1 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -30,9 +30,10 @@ hyprctl reload pkill -SIGUSR2 btop makoctl reload -# Change gnome, browser, vscode themes +# Change gnome, browser, vscode, cursor themes omarchy-theme-set-terminal omarchy-theme-set-gnome omarchy-theme-set-eza omarchy-theme-set-browser omarchy-theme-set-vscode +omarchy-theme-set-cursor diff --git a/bin/omarchy-theme-set-cursor b/bin/omarchy-theme-set-cursor new file mode 100755 index 00000000..2db672e1 --- /dev/null +++ b/bin/omarchy-theme-set-cursor @@ -0,0 +1,4 @@ +#!/bin/bash + +# Call the VSCode theme setter with Cursor-specific parameters +omarchy-theme-set-vscode cursor "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes" Cursor diff --git a/bin/omarchy-theme-set-vscode b/bin/omarchy-theme-set-vscode index 1fa975d1..4c911897 100755 --- a/bin/omarchy-theme-set-vscode +++ b/bin/omarchy-theme-set-vscode @@ -3,43 +3,47 @@ # Note: We cannot use `jq` to update settings.json because it’s JSONC (allows comments), # which jq doesn’t support. -VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json" -VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json" -VS_CODE_SKIP_FLAG="$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes" +# Parameters: EDITOR_CMD SETTINGS_PATH SKIP_FLAG EDITOR_NAME +EDITOR_CMD="${1:-code}" +SETTINGS_PATH="${2:-$HOME/.config/Code/User/settings.json}" +SKIP_FLAG="${3:-$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes}" +EDITOR_NAME="${4:-VS Code}" -if omarchy-cmd-present code && [[ ! -f "$VS_CODE_SKIP_FLAG" ]]; then +VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json" + +if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then if [[ -f "$VS_CODE_THEME" ]]; then theme_name=$(jq -r '.name' "$VS_CODE_THEME") extension=$(jq -r '.extension' "$VS_CODE_THEME") - # Install VS Code theme extension - if [[ -n "$extension" ]] && ! code --list-extensions | grep -Fxq "$extension"; then - notify-send " Installing VS Code theme for $theme_name" - code --install-extension "$extension" >/dev/null + # Install $EDITOR_NAME theme extension + if [[ -n "$extension" ]] && ! "$EDITOR_CMD" --list-extensions | grep -Fxq "$extension"; then + notify-send " Installing $EDITOR_NAME theme for $theme_name" + "$EDITOR_CMD" --install-extension "$extension" >/dev/null fi # Create config file if there isn't already one - mkdir -p "$(dirname "$VS_CODE_SETTINGS")" - if [[ ! -f "$VS_CODE_SETTINGS" ]]; then - printf '{\n}\n' > "$VS_CODE_SETTINGS" + mkdir -p "$(dirname "$SETTINGS_PATH")" + if [[ ! -f "$SETTINGS_PATH" ]]; then + printf '{\n}\n' > "$SETTINGS_PATH" fi - # Create a `workbench.colorTheme` entry in settings. - if ! grep -q '"workbench.colorTheme"' "$VS_CODE_SETTINGS"; then + # Create a `workbench.colorTheme` entry in settings. + if ! grep -q '"workbench.colorTheme"' "$SETTINGS_PATH"; then # Insert `"workbench.colorTheme": "",` immediately after the first `{` # Use sed's first-match range (0,/{/) to only replace the first `{` sed -i --follow-symlinks -E '0,/\{/{s/\{/{\ - "workbench.colorTheme": "",/}' "$VS_CODE_SETTINGS" + "workbench.colorTheme": "",/}' "$SETTINGS_PATH" fi # Update theme sed -i --follow-symlinks -E \ "s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \ - "$VS_CODE_SETTINGS" + "$SETTINGS_PATH" else - # Remove theme from settings.json when the theme doesn't have vscode support - if [[ -f "$VS_CODE_SETTINGS" ]]; then - sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$VS_CODE_SETTINGS" + # Remove theme from settings.json when the theme doesn't have $EDITOR_NAME support + if [[ -f "$SETTINGS_PATH" ]]; then + sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$SETTINGS_PATH" fi fi From b0ee5d2e7957c2999a34eaeae4774631028b51e7 Mon Sep 17 00:00:00 2001 From: Vladyslav Date: Mon, 6 Oct 2025 19:51:30 +0000 Subject: [PATCH 036/209] Fix lock screen killing ghostty screensaver instance instead of alacritty (#1979) --- bin/omarchy-lock-screen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-lock-screen b/bin/omarchy-lock-screen index cad6f814..d3f6276d 100755 --- a/bin/omarchy-lock-screen +++ b/bin/omarchy-lock-screen @@ -9,4 +9,4 @@ if pgrep -x "1password" >/dev/null; then fi # Avoid running screensaver when locked -pkill -f "$TERMINAL --class Screensaver" +pkill -f "alacritty --class Screensaver" From 2c14252d7d82069bdc24f6936b65f4da0d43c022 Mon Sep 17 00:00:00 2001 From: Meir Dick Date: Mon, 6 Oct 2025 15:53:37 -0400 Subject: [PATCH 037/209] Fix: Allow passing flags/arguments to omarchy-launch-webapp in launch-or-focus-webapp script (#1980) This resolves the issue where extra arguments like Chromium's --profile-directory were ignored when launching a web app via omarchy-launch-or-focus-webapp. The script now uses 'shift' to isolate the window pattern ($1) and passes all remaining arguments ($@), which include the URL and flags, to the omarchy-launch-webapp function. Closes #1977 --- bin/omarchy-launch-or-focus-webapp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-launch-or-focus-webapp b/bin/omarchy-launch-or-focus-webapp index c54159f5..aa56db73 100755 --- a/bin/omarchy-launch-or-focus-webapp +++ b/bin/omarchy-launch-or-focus-webapp @@ -1,8 +1,12 @@ #!/bin/bash if (($# == 0)); then - echo "Usage: omarchy-launch-or-focus-webapp [window-pattern] [url]" + echo "Usage: omarchy-launch-or-focus-webapp [window-pattern] [url-and-flags...]" exit 1 fi -exec omarchy-launch-or-focus "$1" "omarchy-launch-webapp '$2'" +WINDOW_PATTERN="$1" +shift +LAUNCH_COMMAND="omarchy-launch-webapp $@" + +exec omarchy-launch-or-focus "$WINDOW_PATTERN" "$LAUNCH_COMMAND" \ No newline at end of file From 2971a25a4fe56e567f9a1dfd36fb9dd6ae1b353b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kr=C3=BCger?= Date: Mon, 6 Oct 2025 22:03:16 +0200 Subject: [PATCH 038/209] fix: change uwsm app to uwsm-app for performance (#1960) * fix: change uwsm app to uwsm-app for performance * Do not run uwsm-app in parallel as it's not supported * Fix comment --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-install-dropbox | 2 +- bin/omarchy-launch-about | 2 +- bin/omarchy-launch-browser | 2 +- bin/omarchy-launch-editor | 4 ++-- bin/omarchy-launch-floating-terminal-with-presentation | 2 +- bin/omarchy-launch-or-focus | 2 +- bin/omarchy-launch-webapp | 2 +- bin/omarchy-launch-wifi | 2 +- bin/omarchy-menu-keybindings | 1 + bin/omarchy-restart-app | 2 +- bin/omarchy-restart-walker | 2 +- bin/omarchy-theme-bg-next | 4 ++-- bin/omarchy-toggle-idle | 2 +- bin/omarchy-toggle-nightlight | 2 +- bin/omarchy-toggle-waybar | 2 +- config/hypr/autostart.conf | 2 +- config/hypr/bindings.conf | 10 +++++----- config/walker/config.toml | 2 +- 18 files changed, 24 insertions(+), 23 deletions(-) diff --git a/bin/omarchy-install-dropbox b/bin/omarchy-install-dropbox index ac5710c8..b4c59298 100755 --- a/bin/omarchy-install-dropbox +++ b/bin/omarchy-install-dropbox @@ -4,5 +4,5 @@ echo "Installing all dependencies..." omarchy-pkg-add dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox echo "Starting Dropbox..." -uwsm app -- dropbox-cli start &>/dev/null & +uwsm-app -- dropbox-cli start &>/dev/null & echo "See Dropbox icon behind  hover tray in top right and right-click for setup." diff --git a/bin/omarchy-launch-about b/bin/omarchy-launch-about index 00722221..797e340f 100755 --- a/bin/omarchy-launch-about +++ b/bin/omarchy-launch-about @@ -1,3 +1,3 @@ #!/bin/bash -exec setsid uwsm app -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s' +exec setsid uwsm-app -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s' diff --git a/bin/omarchy-launch-browser b/bin/omarchy-launch-browser index 536e212c..d6ae00cb 100755 --- a/bin/omarchy-launch-browser +++ b/bin/omarchy-launch-browser @@ -9,4 +9,4 @@ else private_flag="--incognito" fi -exec setsid uwsm app -- "$browser_exec" "${@/--private/$private_flag}" +exec setsid uwsm-app -- "$browser_exec" "${@/--private/$private_flag}" diff --git a/bin/omarchy-launch-editor b/bin/omarchy-launch-editor index 157168a8..bf90330b 100755 --- a/bin/omarchy-launch-editor +++ b/bin/omarchy-launch-editor @@ -2,9 +2,9 @@ case "${EDITOR:-nvim}" in nvim | vim | nano | micro | hx) - exec setsid uwsm app -- "$TERMINAL" -e "$EDITOR" "$@" + exec setsid uwsm-app -- "$TERMINAL" -e "$EDITOR" "$@" ;; *) - exec setsid uwsm app -- "$EDITOR" "$@" + exec setsid uwsm-app -- "$EDITOR" "$@" ;; esac diff --git a/bin/omarchy-launch-floating-terminal-with-presentation b/bin/omarchy-launch-floating-terminal-with-presentation index 78e8b2db..b6121705 100755 --- a/bin/omarchy-launch-floating-terminal-with-presentation +++ b/bin/omarchy-launch-floating-terminal-with-presentation @@ -1,4 +1,4 @@ #!/bin/bash cmd="$*" -exec setsid uwsm app -- alacritty -o font.size=9 --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" +exec setsid uwsm-app -- alacritty -o font.size=9 --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" \ No newline at end of file diff --git a/bin/omarchy-launch-or-focus b/bin/omarchy-launch-or-focus index a0075632..270b0251 100755 --- a/bin/omarchy-launch-or-focus +++ b/bin/omarchy-launch-or-focus @@ -6,7 +6,7 @@ if (($# == 0)); then fi WINDOW_PATTERN="$1" -LAUNCH_COMMAND="${2:-"uwsm app -- $WINDOW_PATTERN"}" +LAUNCH_COMMAND="${2:-"uwsm-app -- $WINDOW_PATTERN"}" WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1) if [[ -n $WINDOW_ADDRESS ]]; then diff --git a/bin/omarchy-launch-webapp b/bin/omarchy-launch-webapp index 441748ea..1de31278 100755 --- a/bin/omarchy-launch-webapp +++ b/bin/omarchy-launch-webapp @@ -7,4 +7,4 @@ google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium-b *) browser="chromium.desktop" ;; esac -exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}" +exec setsid uwsm-app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}" diff --git a/bin/omarchy-launch-wifi b/bin/omarchy-launch-wifi index fe04f846..c9a9b18b 100755 --- a/bin/omarchy-launch-wifi +++ b/bin/omarchy-launch-wifi @@ -1,3 +1,3 @@ #!/bin/bash -exec setsid uwsm app -- "$TERMINAL" --class=Impala -e impala "$@" +exec setsid uwsm-app -- "$TERMINAL" --class=Impala -e impala "$@" diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index cd1a9b54..093f0495 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -80,6 +80,7 @@ dynamic_bindings() { -e 's/null//' \ -e 's,~/.local/share/omarchy/bin/,,' \ -e 's,uwsm app -- ,,' \ + -e 's,uwsm-app -- ,,' \ -e 's/@0//' \ -e 's/,@/,code:/' \ -e 's/^0,/,/' \ diff --git a/bin/omarchy-restart-app b/bin/omarchy-restart-app index 8cf2a036..4cc474fa 100755 --- a/bin/omarchy-restart-app +++ b/bin/omarchy-restart-app @@ -1,4 +1,4 @@ #!/bin/bash pkill -x $1 -setsid uwsm app -- $1 >/dev/null 2>&1 & +setsid uwsm-app -- $1 >/dev/null 2>&1 & diff --git a/bin/omarchy-restart-walker b/bin/omarchy-restart-walker index b2dc9a45..7e3396af 100755 --- a/bin/omarchy-restart-walker +++ b/bin/omarchy-restart-walker @@ -3,5 +3,5 @@ pkill walker # FIXME: Just deal with the memory leak for now. # See https://github.com/basecamp/omarchy/issues/698 -setsid uwsm app -- walker --gapplication-service & +setsid uwsm-app -- walker --gapplication-service & echo # Always end in success so we don't terminate further running diff --git a/bin/omarchy-theme-bg-next b/bin/omarchy-theme-bg-next index 21cddf98..94aa4e70 100755 --- a/bin/omarchy-theme-bg-next +++ b/bin/omarchy-theme-bg-next @@ -11,7 +11,7 @@ TOTAL=${#BACKGROUNDS[@]} if [[ $TOTAL -eq 0 ]]; then notify-send "No background was found for theme" -t 2000 pkill -x swaybg - setsid uwsm app -- swaybg --color '#000000' >/dev/null 2>&1 & + setsid uwsm-app -- swaybg --color '#000000' >/dev/null 2>&1 & else # Get current background from symlink if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then @@ -44,5 +44,5 @@ else # Relaunch swaybg pkill -x swaybg - setsid uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 & + setsid uwsm-app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 & fi diff --git a/bin/omarchy-toggle-idle b/bin/omarchy-toggle-idle index a1954614..aa69cf50 100755 --- a/bin/omarchy-toggle-idle +++ b/bin/omarchy-toggle-idle @@ -4,6 +4,6 @@ if pgrep -x hypridle >/dev/null; then pkill -x hypridle notify-send "Stop locking computer when idle" else - uwsm app -- hypridle >/dev/null 2>&1 & + uwsm-app -- hypridle >/dev/null 2>&1 & notify-send "Now locking computer when idle" fi diff --git a/bin/omarchy-toggle-nightlight b/bin/omarchy-toggle-nightlight index 2ab2deb6..99b0286b 100755 --- a/bin/omarchy-toggle-nightlight +++ b/bin/omarchy-toggle-nightlight @@ -6,7 +6,7 @@ OFF_TEMP=6000 # Ensure hyprsunset is running if ! pgrep -x hyprsunset; then - setsid uwsm app -- hyprsunset & + setsid uwsm-app -- hyprsunset & sleep 1 # Give it time to register fi diff --git a/bin/omarchy-toggle-waybar b/bin/omarchy-toggle-waybar index 9714185f..71387827 100755 --- a/bin/omarchy-toggle-waybar +++ b/bin/omarchy-toggle-waybar @@ -3,5 +3,5 @@ if pgrep -x waybar >/dev/null; then pkill -x waybar else - uwsm app -- waybar >/dev/null 2>&1 & + uwsm-app -- waybar >/dev/null 2>&1 & fi diff --git a/config/hypr/autostart.conf b/config/hypr/autostart.conf index 3b7c62d2..708b3a29 100644 --- a/config/hypr/autostart.conf +++ b/config/hypr/autostart.conf @@ -1,2 +1,2 @@ # Extra autostart processes -# exec-once = uwsm app -- my-service +# exec-once = uwsm-app -- my-service diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index 72e71cc1..3159f781 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -1,18 +1,18 @@ # Application bindings -$terminal = uwsm app -- $TERMINAL +$terminal = uwsm-app -- $TERMINAL $browser = omarchy-launch-browser bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" -bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window +bindd = SUPER, F, File manager, exec, uwsm-app -- nautilus --new-window bindd = SUPER, B, Browser, exec, $browser bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private bindd = SUPER, M, Music, exec, omarchy-launch-or-focus spotify bindd = SUPER, N, Editor, exec, omarchy-launch-editor bindd = SUPER, T, Activity, exec, $terminal -e btop bindd = SUPER, D, Docker, exec, $terminal -e lazydocker -bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop" -bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm app -- obsidian -disable-gpu --enable-wayland-ime" -bindd = SUPER, SLASH, Passwords, exec, uwsm app -- 1password +bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop" +bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" +bindd = SUPER, SLASH, Passwords, exec, uwsm-app -- 1password # If your web app url contains #, type it as ## to prevent hyprland from treating it as a comment bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" diff --git a/config/walker/config.toml b/config/walker/config.toml index cfd79aab..da79b96d 100644 --- a/config/walker/config.toml +++ b/config/walker/config.toml @@ -21,7 +21,7 @@ path = "~/.config/hypr/hyprland.conf" hidden = true [builtins.applications] -launch_prefix = "uwsm app -- " +launch_prefix = "uwsm-app -- " placeholder = " Search..." prioritize_new = false context_aware = false From e3658556ea61792414dc9d3d55985ca01ad15551 Mon Sep 17 00:00:00 2001 From: Simon Cossar Date: Mon, 6 Oct 2025 13:05:31 -0700 Subject: [PATCH 039/209] Add window theme to Ghostty config (#1956) --- config/ghostty/config | 1 + 1 file changed, 1 insertion(+) diff --git a/config/ghostty/config b/config/ghostty/config index e8420d1b..0ef0fa2c 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -7,6 +7,7 @@ font-style = Regular font-size = 9 # Window +window-theme = ghostty window-padding-x = 14 window-padding-y = 14 confirm-close-surface=false From c91c75a5e6b08c16d054712e0be7ce2a662886ef Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 6 Oct 2025 22:09:47 +0200 Subject: [PATCH 040/209] Add even cleaner ghostty tabs as default Via @Thundernirmal Ref #1956 --- config/ghostty/config | 1 + 1 file changed, 1 insertion(+) diff --git a/config/ghostty/config b/config/ghostty/config index 0ef0fa2c..f2a94651 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -12,6 +12,7 @@ window-padding-x = 14 window-padding-y = 14 confirm-close-surface=false resize-overlay = never +gtk-toolbar-style = flat # Cursor styling cursor-style = "block" From 14b020dcfbc09d9f4be96bd442425ecb4d988703 Mon Sep 17 00:00:00 2001 From: Justin Lowry <8211769+Justikun@users.noreply.github.com> Date: Mon, 6 Oct 2025 14:22:21 -0600 Subject: [PATCH 041/209] fix: update legibility with bright green color (#1895) Bright green color was hard to read on dark backgrounds. Adjusted color value for alacritty, ghostty, and kitty. --- themes/osaka-jade/alacritty.toml | 2 +- themes/osaka-jade/ghostty.conf | 2 +- themes/osaka-jade/kitty.conf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/themes/osaka-jade/alacritty.toml b/themes/osaka-jade/alacritty.toml index 6229daa0..3cb8513a 100644 --- a/themes/osaka-jade/alacritty.toml +++ b/themes/osaka-jade/alacritty.toml @@ -16,7 +16,7 @@ white = "#F6F5DD" [colors.bright] black = "#53685B" red = "#db9f9c" -green = "#143614" +green = "#63b07a" yellow = "#E5C736" blue = "#ACD4CF" magenta = "#75bbb3" diff --git a/themes/osaka-jade/ghostty.conf b/themes/osaka-jade/ghostty.conf index f26aa996..75eb6685 100644 --- a/themes/osaka-jade/ghostty.conf +++ b/themes/osaka-jade/ghostty.conf @@ -17,7 +17,7 @@ palette = 7=#F6F5DD # bright colors palette = 8=#53685B palette = 9=#db9f9c -palette = 10=#143614 +palette = 10=#63b07a palette = 11=#E5C736 palette = 12=#ACD4CF palette = 13=#75bbb3 diff --git a/themes/osaka-jade/kitty.conf b/themes/osaka-jade/kitty.conf index 78317228..cd6c84e5 100644 --- a/themes/osaka-jade/kitty.conf +++ b/themes/osaka-jade/kitty.conf @@ -20,7 +20,7 @@ color9 #DB9F9C # green color2 #549E6A -color10 #143614 +color10 #63b07a # yellow color3 #459451 From 3f25fcbd98ca0a4ec94f28d8bb66d943a86fca17 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 6 Oct 2025 22:25:35 +0200 Subject: [PATCH 042/209] Revert "Fix Neovim .desktop file to open files from GUI file manager (#2233)" This reverts commit 479f20d294726270484120179675fcd4e711a7b2. --- applications/nvim.desktop | 2 +- default/hypr/apps/steam.conf | 2 +- migrations/1759693134.sh | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) delete mode 100644 migrations/1759693134.sh diff --git a/applications/nvim.desktop b/applications/nvim.desktop index b064c32e..ed118590 100644 --- a/applications/nvim.desktop +++ b/applications/nvim.desktop @@ -2,7 +2,7 @@ Name=Neovim GenericName=Text Editor Comment=Edit text files -Exec=sh -c "$TERMINAL --class=nvim --title=nvim -e nvim -- %F" +Exec=$TERMINAL --class=nvim --title=nvim -e nvim -- %F Terminal=false Type=Application Keywords=Text;editor; diff --git a/default/hypr/apps/steam.conf b/default/hypr/apps/steam.conf index 77d8a4bc..bd6386cc 100644 --- a/default/hypr/apps/steam.conf +++ b/default/hypr/apps/steam.conf @@ -1,4 +1,4 @@ -# Float Steam +# Float Steam, fullscreen RetroArch windowrule = float, class:steam windowrule = center, class:steam, title:Steam windowrule = opacity 1 1, class:steam diff --git a/migrations/1759693134.sh b/migrations/1759693134.sh deleted file mode 100644 index 015fd8e0..00000000 --- a/migrations/1759693134.sh +++ /dev/null @@ -1,3 +0,0 @@ -echo "Fix opening in nvim from files manager" - -cp -f $OMARCHY_PATH/applications/nvim.desktop ~/.local/share/applications/nvim.desktop From 5faa2c8d49a822f044a24a4b62488cf8ff23e54d Mon Sep 17 00:00:00 2001 From: Dharma Date: Mon, 6 Oct 2025 14:27:39 -0600 Subject: [PATCH 043/209] Fixes the nvim desktop entry exec command (#1892) * fixes nvim desktop entry exec command * switched to `omarchy-launch-editor` so it opens in nautilus, walker and a keybind --- applications/nvim.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/nvim.desktop b/applications/nvim.desktop index ed118590..23fab41f 100644 --- a/applications/nvim.desktop +++ b/applications/nvim.desktop @@ -2,7 +2,7 @@ Name=Neovim GenericName=Text Editor Comment=Edit text files -Exec=$TERMINAL --class=nvim --title=nvim -e nvim -- %F +Exec=omarchy-launch-editor %F Terminal=false Type=Application Keywords=Text;editor; From a401c74083ff7c3aab2a9849048961ca20dde633 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 6 Oct 2025 22:29:16 +0200 Subject: [PATCH 044/209] Add migration for new nvim.desktop --- migrations/1759782459.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 migrations/1759782459.sh diff --git a/migrations/1759782459.sh b/migrations/1759782459.sh new file mode 100644 index 00000000..015fd8e0 --- /dev/null +++ b/migrations/1759782459.sh @@ -0,0 +1,3 @@ +echo "Fix opening in nvim from files manager" + +cp -f $OMARCHY_PATH/applications/nvim.desktop ~/.local/share/applications/nvim.desktop From a38d80ee9facbf8b452fd1eddb3ad7b373b8326c Mon Sep 17 00:00:00 2001 From: Mirza Pasic Date: Tue, 7 Oct 2025 08:38:29 +0200 Subject: [PATCH 045/209] Add SSH session integration for Ghostty (#1950) * Add SSH session integration for Ghostty * Set only ssh-env for Ghosty integration feature --- config/ghostty/config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/ghostty/config b/config/ghostty/config index f2a94651..2bd47abb 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -21,3 +21,6 @@ shell-integration-features = no-cursor # Keyboard bindings keybind = f11=toggle_fullscreen + +# SSH session terminfo +shell-integration-features = ssh-env From 1ffed127dbd6f139588309f3f8f938dcc0ae4ddb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 7 Oct 2025 13:01:22 +0200 Subject: [PATCH 046/209] Invert the logic to only fail when we know for sure secure boot is on --- install/preflight/guard.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/preflight/guard.sh b/install/preflight/guard.sh index 3ea3d68f..90bbf4ee 100644 --- a/install/preflight/guard.sh +++ b/install/preflight/guard.sh @@ -19,7 +19,7 @@ done [ "$(uname -m)" != "x86_64" ] && abort "x86_64 CPU" # Must have secure boot disabled -bootctl status 2>/dev/null | grep -q 'Secure Boot: disabled' || abort "Secure Boot disabled" +bootctl status 2>/dev/null | grep -q 'Secure Boot: enabled' && abort "Secure Boot disabled" # Must not have Gnome or KDE already install pacman -Qe gnome-shell &>/dev/null && abort "Fresh + Vanilla Arch" From 011174699c4940a83cd98ea5b3d7b3b96e6114b8 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 7 Oct 2025 13:04:44 +0200 Subject: [PATCH 047/209] Expand all the guard conditionals to be as readable as possible --- install/preflight/guard.sh | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/install/preflight/guard.sh b/install/preflight/guard.sh index 90bbf4ee..c9d15bde 100644 --- a/install/preflight/guard.sh +++ b/install/preflight/guard.sh @@ -5,25 +5,36 @@ abort() { } # Must be an Arch distro -[[ -f /etc/arch-release ]] || abort "Vanilla Arch" +if [[ ! -f /etc/arch-release ]]; then + abort "Vanilla Arch" +fi # Must not be an Arch derivative distro for marker in /etc/cachyos-release /etc/eos-release /etc/garuda-release /etc/manjaro-release; do - [[ -f "$marker" ]] && abort "Vanilla Arch" + if [[ -f "$marker" ]]; then + abort "Vanilla Arch" + fi done # Must not be running as root -[ "$EUID" -eq 0 ] && abort "Running as root (not user)" +if [ "$EUID" -eq 0 ]; then + abort "Running as root (not user)" +fi # Must be x86 only to fully work -[ "$(uname -m)" != "x86_64" ] && abort "x86_64 CPU" +if [ "$(uname -m)" != "x86_64" ]; then + abort "x86_64 CPU" +fi # Must have secure boot disabled -bootctl status 2>/dev/null | grep -q 'Secure Boot: enabled' && abort "Secure Boot disabled" +if bootctl status 2>/dev/null | grep -q 'Secure Boot: enabled'; then + abort "Secure Boot disabled" +fi # Must not have Gnome or KDE already install -pacman -Qe gnome-shell &>/dev/null && abort "Fresh + Vanilla Arch" -pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch" +if pacman -Qe gnome-shell &>/dev/null || pacman -Qe plasma-desktop &>/dev/null; then + abort "Fresh + Vanilla Arch" +fi # Cleared all guards echo "Guards: OK" From 23260183412d1c467d4e7f2c7f1f4eac28806ca7 Mon Sep 17 00:00:00 2001 From: Alexander Zaytsev Date: Tue, 7 Oct 2025 13:14:48 +0200 Subject: [PATCH 048/209] Group mako settings and adjust notification styles (#2273) * Move common mako settings to `core.ini` * Use monospace font, set font size in px * Increase line height * Adjust paddings * Add 10px width so the Welcome notification fits on one line * Remove extra whitespace * Remove extra whitespace, adjust wording * Improve text-to-bg contrast in Tokyo Night * Follow the system font * Use sans-serif font * Restore width and extra space characters * Adjust vertical paddings * Remove `omarchy-restart-mako` (no longer needed) --- default/mako/core.ini | 6 ++++++ install/first-run/wifi.sh | 2 +- themes/catppuccin-latte/mako.ini | 5 ----- themes/catppuccin/mako.ini | 5 ----- themes/everforest/mako.ini | 5 ----- themes/gruvbox/mako.ini | 5 ----- themes/kanagawa/mako.ini | 5 ----- themes/matte-black/mako.ini | 5 ----- themes/nord/mako.ini | 5 ----- themes/osaka-jade/mako.ini | 5 ----- themes/ristretto/mako.ini | 5 ----- themes/rose-pine/mako.ini | 5 ----- themes/tokyo-night/mako.ini | 7 +------ 13 files changed, 8 insertions(+), 57 deletions(-) diff --git a/default/mako/core.ini b/default/mako/core.ini index 05f60534..6da413a8 100644 --- a/default/mako/core.ini +++ b/default/mako/core.ini @@ -2,6 +2,12 @@ anchor=top-right default-timeout=5000 width=420 height=110 +outer-margin=20 +padding=10,15 +border-size=2 +max-icon-size=32 +font=sans-serif 14px +format=%s\n%b [app-name=Spotify] invisible=1 diff --git a/install/first-run/wifi.sh b/install/first-run/wifi.sh index 9d391f1e..d645a5c3 100644 --- a/install/first-run/wifi.sh +++ b/install/first-run/wifi.sh @@ -1,3 +1,3 @@ if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then - notify-send "󰖩 Click to Setup Wi-Fi" "Tab between sections, space selects, ? for help." -u critical -t 30000 + notify-send "󰖩 Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical -t 30000 fi diff --git a/themes/catppuccin-latte/mako.ini b/themes/catppuccin-latte/mako.ini index 6461da0e..fa46cfff 100644 --- a/themes/catppuccin-latte/mako.ini +++ b/themes/catppuccin-latte/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#4c4f69 border-color=#1e66f5 background-color=#eff1f5 -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/catppuccin/mako.ini b/themes/catppuccin/mako.ini index dc5f9c64..e530b7d5 100644 --- a/themes/catppuccin/mako.ini +++ b/themes/catppuccin/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#cad3f5 border-color=#c6d0f5 background-color=#24273a -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/everforest/mako.ini b/themes/everforest/mako.ini index 05b50e86..0008121f 100644 --- a/themes/everforest/mako.ini +++ b/themes/everforest/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#d3c6aa border-color=#d3c6aa background-color=#2d353b -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/gruvbox/mako.ini b/themes/gruvbox/mako.ini index 669c6f5a..5d2d17cc 100644 --- a/themes/gruvbox/mako.ini +++ b/themes/gruvbox/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#d4be98 border-color=#a89984 background-color=#282828 -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/kanagawa/mako.ini b/themes/kanagawa/mako.ini index fe944d8a..ca2e939c 100644 --- a/themes/kanagawa/mako.ini +++ b/themes/kanagawa/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#dcd7ba border-color=#dcd7ba background-color=#1f1f28 -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/matte-black/mako.ini b/themes/matte-black/mako.ini index a0e6653b..0515363c 100644 --- a/themes/matte-black/mako.ini +++ b/themes/matte-black/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#8a8a8d border-color=#8A8A8D background-color=#1e1e1e -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 diff --git a/themes/nord/mako.ini b/themes/nord/mako.ini index 2976506d..5eaadd9a 100644 --- a/themes/nord/mako.ini +++ b/themes/nord/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#d8dee9 border-color=#D8DEE9 background-color=#2e3440 -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/osaka-jade/mako.ini b/themes/osaka-jade/mako.ini index 44897998..22fe2aae 100644 --- a/themes/osaka-jade/mako.ini +++ b/themes/osaka-jade/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#C1C497 border-color=#214237 background-color=#11221C -padding=10 -border-size=2 -font=Liberation Sans 12 -max-icon-size=32 -outer-margin=5 \ No newline at end of file diff --git a/themes/ristretto/mako.ini b/themes/ristretto/mako.ini index a88e281b..732a96df 100644 --- a/themes/ristretto/mako.ini +++ b/themes/ristretto/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#e6d9db border-color=#e6d9db background-color=#2c2525 -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/rose-pine/mako.ini b/themes/rose-pine/mako.ini index 10f76e58..f2284fc8 100644 --- a/themes/rose-pine/mako.ini +++ b/themes/rose-pine/mako.ini @@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color=#575279 border-color=#575279 background-color=#faf4ed -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file diff --git a/themes/tokyo-night/mako.ini b/themes/tokyo-night/mako.ini index c0fae2eb..b1649be1 100644 --- a/themes/tokyo-night/mako.ini +++ b/themes/tokyo-night/mako.ini @@ -1,10 +1,5 @@ include=~/.local/share/omarchy/default/mako/core.ini -text-color=#a9b1d6 +text-color=#c0caf5 border-color=#33ccff background-color=#1a1b26 -padding=10 -border-size=2 -font=Liberation Sans 11 -max-icon-size=32 -outer-margin=20 \ No newline at end of file From dfd133df87ffe7b894321b890983641f79a8c11e Mon Sep 17 00:00:00 2001 From: w3ntry <187279450+w3ntry@users.noreply.github.com> Date: Tue, 7 Oct 2025 13:42:29 +0200 Subject: [PATCH 049/209] Fix browser launching for flatpak (#2187) * Fix comment * Fix browser launching for flatpak --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-launch-browser | 5 ++--- default/hypr/apps/steam.conf | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/bin/omarchy-launch-browser b/bin/omarchy-launch-browser index d6ae00cb..eb800eee 100755 --- a/bin/omarchy-launch-browser +++ b/bin/omarchy-launch-browser @@ -1,12 +1,11 @@ #!/bin/bash default_browser=$(xdg-settings get default-web-browser) -browser_exec=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$default_browser 2>/dev/null | head -1) -if [[ $browser_exec =~ (firefox|zen|librewolf) ]]; then +if [[ $default_browser =~ (firefox|zen|librewolf) ]]; then private_flag="--private-window" else private_flag="--incognito" fi -exec setsid uwsm-app -- "$browser_exec" "${@/--private/$private_flag}" +exec setsid uwsm-app -- "$default_browser" "${@/--private/$private_flag}" \ No newline at end of file diff --git a/default/hypr/apps/steam.conf b/default/hypr/apps/steam.conf index bd6386cc..77d8a4bc 100644 --- a/default/hypr/apps/steam.conf +++ b/default/hypr/apps/steam.conf @@ -1,4 +1,4 @@ -# Float Steam, fullscreen RetroArch +# Float Steam windowrule = float, class:steam windowrule = center, class:steam, title:Steam windowrule = opacity 1 1, class:steam From e6d1a2f7546b1ea90f7cbf35ecedb9862d104f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20P=C3=A9ch=C3=A8r?= Date: Tue, 7 Oct 2025 13:27:01 +0100 Subject: [PATCH 050/209] Use systemd-resolved's stub resolver (#2150) * Fix comment * Use systemd-resolved's stub resolver On first run, symlink systemd-resolved's resolver into /etc/resolv.conf Matches migration 1754984623 --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-cmd-first-run | 1 + install/first-run/dns-resolver.sh | 4 ++++ install/preflight/first-run-mode.sh | 2 ++ 3 files changed, 7 insertions(+) create mode 100644 install/first-run/dns-resolver.sh diff --git a/bin/omarchy-cmd-first-run b/bin/omarchy-cmd-first-run index f9b9d578..ab0e7e62 100755 --- a/bin/omarchy-cmd-first-run +++ b/bin/omarchy-cmd-first-run @@ -9,6 +9,7 @@ if [[ -f "$FIRST_RUN_MODE" ]]; then bash "$OMARCHY_PATH/install/first-run/battery-monitor.sh" bash "$OMARCHY_PATH/install/first-run/firewall.sh" + bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh" bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh" sudo rm -f /etc/sudoers.d/first-run diff --git a/install/first-run/dns-resolver.sh b/install/first-run/dns-resolver.sh new file mode 100644 index 00000000..bf46388a --- /dev/null +++ b/install/first-run/dns-resolver.sh @@ -0,0 +1,4 @@ +# https://wiki.archlinux.org/title/Systemd-resolved +echo "Symlink resolved stub-resolv to /etc/resolv.conf" + +sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf diff --git a/install/preflight/first-run-mode.sh b/install/preflight/first-run-mode.sh index 44649496..c09f8439 100644 --- a/install/preflight/first-run-mode.sh +++ b/install/preflight/first-run-mode.sh @@ -5,9 +5,11 @@ touch ~/.local/state/omarchy/first-run.mode # Setup sudo-less access for first-run sudo tee /etc/sudoers.d/first-run >/dev/null < Date: Tue, 7 Oct 2025 09:36:17 -0400 Subject: [PATCH 051/209] fix current working directory if readlink doesn't return a valid directory (#1940) --- bin/omarchy-cmd-terminal-cwd | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-terminal-cwd b/bin/omarchy-cmd-terminal-cwd index 2d3cd0ce..4011e65b 100755 --- a/bin/omarchy-cmd-terminal-cwd +++ b/bin/omarchy-cmd-terminal-cwd @@ -5,7 +5,12 @@ terminal_pid=$(hyprctl activewindow | awk '/pid:/ {print $2}') shell_pid=$(pgrep -P "$terminal_pid" | head -n1) if [[ -n $shell_pid ]]; then - readlink -f "/proc/$shell_pid/cwd" 2>/dev/null || echo "$HOME" + found_cwd=$(readlink -f "/proc/$shell_pid/cwd" 2>/dev/null || echo "$HOME") + if [[ -d "$found_cwd" ]]; then + echo "$found_cwd" + else + echo "$HOME" + fi else echo "$HOME" fi From e9ab1d9bcc97c2455b0280f25520039a09836c28 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 7 Oct 2025 15:37:29 +0200 Subject: [PATCH 052/209] Cleanup the code a bit --- bin/omarchy-cmd-terminal-cwd | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/omarchy-cmd-terminal-cwd b/bin/omarchy-cmd-terminal-cwd index 4011e65b..cda3991a 100755 --- a/bin/omarchy-cmd-terminal-cwd +++ b/bin/omarchy-cmd-terminal-cwd @@ -5,9 +5,10 @@ terminal_pid=$(hyprctl activewindow | awk '/pid:/ {print $2}') shell_pid=$(pgrep -P "$terminal_pid" | head -n1) if [[ -n $shell_pid ]]; then - found_cwd=$(readlink -f "/proc/$shell_pid/cwd" 2>/dev/null || echo "$HOME") - if [[ -d "$found_cwd" ]]; then - echo "$found_cwd" + cwd=$(readlink -f "/proc/$shell_pid/cwd" 2>/dev/null) + + if [[ -d $cwd ]]; then + echo "$cwd" else echo "$HOME" fi From 5b062cddcef227d32e5800b21ad9e01cd55392fe Mon Sep 17 00:00:00 2001 From: Reza <5187816+reshadman@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:28:15 +0330 Subject: [PATCH 053/209] Configure grouping functionality (#656) * Configure grouping functionality * Change google message shortcut to CTRL + SUPER, fix typo * Standardize all group hotkeys around SUPER ALT --------- Co-authored-by: David Heinemeier Hansson --- default/hypr/bindings/tiling.conf | 21 ++++++++++++++++ default/hypr/looknfeel.conf | 40 +++++++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index a0e0f0b5..ea9c36a7 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -69,3 +69,24 @@ bindd = SUPER, MOUSE_UP, Scroll active workspace backward, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindmd = SUPER, mouse:272, Move window, movewindow bindmd = SUPER, mouse:273, Resize window, resizewindow + +# Toggle groups +bindd = SUPER ALT, RETURN, Toggle window grouping, togglegroup +bindd = SUPER ALT, BACKSPACE, Move active window out of group, moveoutofgroup + +# Join groups +bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l +bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r +bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u +bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d + +# Navigate a single set of grouped windows +bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f +bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b + +# Activate window in a group by number +bindd = SUPER ALT, 1, Switch to group window 1, changegroupactive, 1 +bindd = SUPER ALT, 2, Switch to group window 2, changegroupactive, 2 +bindd = SUPER ALT, 3, Switch to group window 3, changegroupactive, 3 +bindd = SUPER ALT, 4, Switch to group window 4, changegroupactive, 4 +bindd = SUPER ALT, 5, Switch to group window 5, changegroupactive, 5 diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index f4b4a44f..488f4107 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -1,5 +1,9 @@ # Refer to https://wiki.hyprland.org/Configuring/Variables/ +# Variables +$activeBorderColor = rgba(33ccffee) rgba(00ff99ee) 45deg +$inactiveBorderColor = rgba(595959aa) + # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 5 @@ -8,8 +12,8 @@ general { border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) + col.active_border = $activeBorderColor + col.inactive_border = $inactiveBorderColor # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false @@ -41,6 +45,38 @@ decoration { } } +# https://wiki.hypr.land/Configuring/Variables/#group +group { + col.border_active = $activeBorderColor + col.border_inactive = $inactiveBorderColor + col.border_locked_active = -1 + col.border_locked_inactive = -1 + + groupbar { + font_size = 12 + font_family = monospace + font_weight_active = ultraheavy + font_weight_inactive = normal + + indicator_height = 0 + indicator_gap = 5 + height = 22 + gaps_in = 5 + gaps_out = 0 + + text_color = rgb(ffffff) + text_color_inactive = rgba(ffffff90) + col.active = rgba(00000040) + col.inactive = rgba(00000020) + + gradients = true + gradient_rounding = 0 + gradient_round_only_edges = false + + } +} + + # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = yes, please :) From 819da32ebb2929376f34c220d326f8c2a183b5b0 Mon Sep 17 00:00:00 2001 From: Dylan Bridgman Date: Tue, 7 Oct 2025 18:17:47 +0200 Subject: [PATCH 054/209] Add `.editorconfig` (#946) --- .editorconfig | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..625c576e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true +end_of_line = lf +charset = utf-8 From 66abd7dc2e2087479a40bd95e7ee7425cc02fc67 Mon Sep 17 00:00:00 2001 From: Greg Kurts Date: Tue, 7 Oct 2025 15:14:22 -0500 Subject: [PATCH 055/209] Float org.gnome.Calculator (#1747) * Float and size Calculator * just use float --------- Co-authored-by: David Heinemeier Hansson --- default/hypr/apps/system.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/default/hypr/apps/system.conf b/default/hypr/apps/system.conf index cfbfe5ee..fbddc65c 100644 --- a/default/hypr/apps/system.conf +++ b/default/hypr/apps/system.conf @@ -5,6 +5,7 @@ windowrule = size 800 600, tag:floating-window windowrule = tag +floating-window, class:(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float) windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files) +windowrule = float, class:org.gnome.Calculator # Fullscreen screensaver windowrule = fullscreen, class:Screensaver From 6ea9c9311ed972dc98ef5b77364b715ddb00c74d Mon Sep 17 00:00:00 2001 From: ctarx Date: Tue, 7 Oct 2025 21:18:07 +0100 Subject: [PATCH 056/209] fix(bindings): anchor Obsidian class to avoid false matches (#1838) Prevent false positives when another window title contains 'Obsidian'. The helper script matches with a case-insensitive regex against class+title, so anchoring to '^obsidian$' ensures we only target the Obsidian window class. Before: SUPER+O could focus a YouTube webapp/FreeTube titled 'Obsidian is great!'. After: SUPER+O focuses Obsidian or launches it if not running. --- config/hypr/bindings.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index 3159f781..40ac5c68 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -11,7 +11,7 @@ bindd = SUPER, N, Editor, exec, omarchy-launch-editor bindd = SUPER, T, Activity, exec, $terminal -e btop bindd = SUPER, D, Docker, exec, $terminal -e lazydocker bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop" -bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" +bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" bindd = SUPER, SLASH, Passwords, exec, uwsm-app -- 1password # If your web app url contains #, type it as ## to prevent hyprland from treating it as a comment From 9c5cf0141080d9734ba24550e05e93e076af3cf2 Mon Sep 17 00:00:00 2001 From: Jonathan Cammisuli <4332460+Cammisuli@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:25:05 -0400 Subject: [PATCH 057/209] add helix in omarchy-launch-editor (#1740) * use helix instead of hx in omarchy-launch-editor fixes #1739 * add both hx and helix --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-launch-editor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-launch-editor b/bin/omarchy-launch-editor index bf90330b..dbe84cfd 100755 --- a/bin/omarchy-launch-editor +++ b/bin/omarchy-launch-editor @@ -1,7 +1,7 @@ #!/bin/bash case "${EDITOR:-nvim}" in -nvim | vim | nano | micro | hx) +nvim | vim | nano | micro | hx | helix) exec setsid uwsm-app -- "$TERMINAL" -e "$EDITOR" "$@" ;; *) From 4365a52a08ffb0316cebdba107face86870ef1a5 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 8 Oct 2025 00:18:11 -0400 Subject: [PATCH 058/209] Make shift + insert paste from clipboard in ghostty --- config/ghostty/config | 1 + migrations/1759895423.sh | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 migrations/1759895423.sh diff --git a/config/ghostty/config b/config/ghostty/config index 2bd47abb..85280779 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -21,6 +21,7 @@ shell-integration-features = no-cursor # Keyboard bindings keybind = f11=toggle_fullscreen +keybind = shift+insert=paste_from_clipboard # SSH session terminfo shell-integration-features = ssh-env diff --git a/migrations/1759895423.sh b/migrations/1759895423.sh new file mode 100644 index 00000000..e586063a --- /dev/null +++ b/migrations/1759895423.sh @@ -0,0 +1,3 @@ +echo "Make shift+insert paste from clipboard" +sed -i '/keybind = f11=toggle_fullscreen/a keybind = shift+insert=paste_from_clipboard' ~/.config/ghostty/config +sed -i 's/{ key = "F11", action = "ToggleFullscreen" }/{ key = "F11", action = "ToggleFullscreen" },\n{ key = "Insert", mods = "Shift", action = "Paste" }/' ~/.config/alacritty/alacritty.toml From bf4fb408776232620fc439793acbc1f7695cba85 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 8 Oct 2025 09:12:20 +0200 Subject: [PATCH 059/209] Rollback flatpak fix Since it broke direct launch of browser with arguments --- bin/omarchy-launch-browser | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-launch-browser b/bin/omarchy-launch-browser index eb800eee..d6ae00cb 100755 --- a/bin/omarchy-launch-browser +++ b/bin/omarchy-launch-browser @@ -1,11 +1,12 @@ #!/bin/bash default_browser=$(xdg-settings get default-web-browser) +browser_exec=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$default_browser 2>/dev/null | head -1) -if [[ $default_browser =~ (firefox|zen|librewolf) ]]; then +if [[ $browser_exec =~ (firefox|zen|librewolf) ]]; then private_flag="--private-window" else private_flag="--incognito" fi -exec setsid uwsm-app -- "$default_browser" "${@/--private/$private_flag}" \ No newline at end of file +exec setsid uwsm-app -- "$browser_exec" "${@/--private/$private_flag}" From 6d20a1307603f2dce6f2c961eb440843b51173e8 Mon Sep 17 00:00:00 2001 From: Yashraj Maher Date: Wed, 8 Oct 2025 14:11:02 +0530 Subject: [PATCH 060/209] Added Cursor CLI in Install > AI (#2153) * Fix comment * Added Cursor CLI in Install > AI * Using AUR Package Instead of Installer Script Co-authored-by: Aidan Timson * Mark cursor cli as an AUR package --------- Co-authored-by: David Heinemeier Hansson Co-authored-by: Aidan Timson --- bin/omarchy-menu | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index e18c247b..48f5e6f6 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -286,8 +286,9 @@ show_install_ai_menu() { echo ollama ) - case $(menu "Install" "󱚤 Claude Code\n󱚤 Gemini [AUR]\n󱚤 OpenAI Codex [AUR]\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush\n󱚤 opencode") in + case $(menu "Install" "󱚤 Claude Code\n󱚤 Cursor CLI [AUR]\n󱚤 Gemini [AUR]\n󱚤 OpenAI Codex [AUR]\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush\n󱚤 opencode") in *Claude*) install "Claude Code" "claude-code" ;; + *Cursor*) aur_install "Cursor CLI" "cursor-cli" ;; *OpenAI*) aur_install "OpenAI Codex" "openai-codex-bin" ;; *Gemini*) aur_install "Gemini" "gemini-cli" ;; *Studio*) install "LM Studio" "lmstudio" ;; From b97cba39affb6f6d15338472fce9d8f9b982610d Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 8 Oct 2025 04:47:26 -0400 Subject: [PATCH 061/209] Login and UKI updates (#2242) * Change DM to SDDM * Move to custom named UKI * Skip creation on Mac * Add entry to make sure VSCode uses gnome keyring * Fix order for UKI generation * Limine only * BTRFS only * Add checks for possible issues * Remove * Add verification to omarchy-pkg-add and speed up installs * Use omarchy-pkg-add * Update files to include dirs * Fix relaunch --- bin/omarchy-install-vscode | 21 +++ bin/omarchy-menu | 4 +- bin/omarchy-pkg-add | 6 +- install/login/all.sh | 4 +- install/login/alt-bootloaders.sh | 115 --------------- install/login/default-keyring.sh | 20 +++ install/login/enable-mkinitcpio.sh | 18 --- install/login/limine-snapper.sh | 44 ++++-- install/login/plymouth.sh | 147 -------------------- install/login/sddm.sh | 16 +++ install/omarchy-base.packages | 2 + install/preflight/guard.sh | 6 + migrations/1758487660_change_dm_to_sddm.sh | 57 ++++++++ migrations/1758487662_move_to_custom_uki.sh | 38 +++++ 14 files changed, 205 insertions(+), 293 deletions(-) create mode 100755 bin/omarchy-install-vscode delete mode 100644 install/login/alt-bootloaders.sh create mode 100644 install/login/default-keyring.sh delete mode 100644 install/login/enable-mkinitcpio.sh create mode 100644 install/login/sddm.sh create mode 100755 migrations/1758487660_change_dm_to_sddm.sh create mode 100644 migrations/1758487662_move_to_custom_uki.sh diff --git a/bin/omarchy-install-vscode b/bin/omarchy-install-vscode new file mode 100755 index 00000000..4a081c15 --- /dev/null +++ b/bin/omarchy-install-vscode @@ -0,0 +1,21 @@ +#!/bin/bash + +echo "Installing VSCode..." +omarchy-pkg-add visual-studio-code-bin + +mkdir -p ~/.vscode + +cat > ~/.vscode/argv.json << 'EOF' +// This configuration file allows you to pass permanent command line arguments to VS Code. +// Only a subset of arguments is currently supported to reduce the likelihood of breaking +// the installation. +// +// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT +// +// NOTE: Changing this file requires a restart of VS Code. +{ + "password-store":"gnome-libsecret" +} +EOF + +setsid gtk-launch code diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 48f5e6f6..ab4be13f 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -260,7 +260,7 @@ show_install_service_menu() { show_install_editor_menu() { case $(menu "Install" " VSCode\n Cursor\n Zed\n Sublime Text\n Helix\n Emacs") in - *VSCode*) install_and_launch "VSCode" "visual-studio-code-bin" "code" ;; + *VSCode*) present_terminal omarchy-install-vscode ;; *Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;; *Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;; *Sublime*) aur_install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;; @@ -452,7 +452,7 @@ show_system_menu() { *Lock*) omarchy-lock-screen ;; *Screensaver*) omarchy-launch-screensaver force ;; *Suspend*) systemctl suspend ;; - *Relaunch*) omarchy-state clear relaunch-required && uwsm stop ;; + *Relaunch*) omarchy-state clear relaunch-required && sudo systemctl restart sddm ;; *Restart*) omarchy-state clear re*-required && systemctl reboot ;; *Shutdown*) omarchy-state clear re*-required && systemctl poweroff ;; *) back_to show_main_menu ;; diff --git a/bin/omarchy-pkg-add b/bin/omarchy-pkg-add index 116435be..82998077 100755 --- a/bin/omarchy-pkg-add +++ b/bin/omarchy-pkg-add @@ -1,8 +1,12 @@ #!/bin/bash +sudo pacman -S --noconfirm --needed "$@" || exit 1 + for pkg in "$@"; do + # Secondary check to handle states where pacman doesn't actually register an error if ! pacman -Q "$pkg" &>/dev/null; then - sudo pacman -S --noconfirm "$pkg" || exit 1 + echo -e "\033[31mError: Package '$pkg' did not install\033[0m" >&2 + exit 1 fi done diff --git a/install/login/all.sh b/install/login/all.sh index e4be282f..2c03df32 100644 --- a/install/login/all.sh +++ b/install/login/all.sh @@ -1,4 +1,4 @@ run_logged $OMARCHY_INSTALL/login/plymouth.sh +run_logged $OMARCHY_INSTALL/login/default-keyring.sh +run_logged $OMARCHY_INSTALL/login/sddm.sh run_logged $OMARCHY_INSTALL/login/limine-snapper.sh -run_logged $OMARCHY_INSTALL/login/enable-mkinitcpio.sh -run_logged $OMARCHY_INSTALL/login/alt-bootloaders.sh diff --git a/install/login/alt-bootloaders.sh b/install/login/alt-bootloaders.sh deleted file mode 100644 index bb35d9b0..00000000 --- a/install/login/alt-bootloaders.sh +++ /dev/null @@ -1,115 +0,0 @@ -if ! command -v limine &>/dev/null; then - # Add kernel hooks - if ! grep -Eq '^HOOKS=.*plymouth' /etc/mkinitcpio.conf; then - # Backup original mkinitcpio.conf just in case - backup_timestamp=$(date +"%Y%m%d%H%M%S") - sudo cp /etc/mkinitcpio.conf "/etc/mkinitcpio.conf.bak.${backup_timestamp}" - - # Add plymouth to HOOKS array after 'base udev' or 'base systemd' - if grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base systemd"; then - sudo sed -i '/^HOOKS=/s/base systemd/base systemd plymouth/' /etc/mkinitcpio.conf - elif grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base udev"; then - sudo sed -i '/^HOOKS=/s/base udev/base udev plymouth/' /etc/mkinitcpio.conf - else - echo "Couldn't add the Plymouth hook" - fi - - # Regenerate initramfs - sudo mkinitcpio -P - fi - - # Add kernel parameters for Plymouth - if [ -d "/boot/loader/entries" ]; then # systemd-boot - echo "Detected systemd-boot" - - for entry in /boot/loader/entries/*.conf; do - if [ -f "$entry" ]; then - # Skip fallback entries - if [[ "$(basename "$entry")" == *"fallback"* ]]; then - echo "Skipped: $(basename "$entry") (fallback entry)" - continue - fi - - # Skip if splash it already present for some reason - if ! grep -q "splash" "$entry"; then - sudo sed -i '/^options/ s/$/ splash quiet/' "$entry" - else - echo "Skipped: $(basename "$entry") (splash already present)" - fi - fi - done - elif [ -f "/etc/default/grub" ]; then # Grub - echo "Detected grub" - - # Backup GRUB config before modifying - backup_timestamp=$(date +"%Y%m%d%H%M%S") - sudo cp /etc/default/grub "/etc/default/grub.bak.${backup_timestamp}" - - # Check if splash is already in GRUB_CMDLINE_LINUX_DEFAULT - if ! grep -q "GRUB_CMDLINE_LINUX_DEFAULT.*splash" /etc/default/grub; then - # Get current GRUB_CMDLINE_LINUX_DEFAULT value - current_cmdline=$(grep "^GRUB_CMDLINE_LINUX_DEFAULT=" /etc/default/grub | cut -d'"' -f2) - - # Add splash and quiet if not present - new_cmdline="$current_cmdline" - if [[ ! "$current_cmdline" =~ splash ]]; then - new_cmdline="$new_cmdline splash" - fi - if [[ ! "$current_cmdline" =~ quiet ]]; then - new_cmdline="$new_cmdline quiet" - fi - - # Trim any leading/trailing spaces - new_cmdline=$(echo "$new_cmdline" | xargs) - - sudo sed -i "s/^GRUB_CMDLINE_LINUX_DEFAULT=\".*\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$new_cmdline\"/" /etc/default/grub - - # Regenerate grub config - sudo grub-mkconfig -o /boot/grub/grub.cfg - else - echo "GRUB already configured with splash kernel parameters" - fi - elif [ -d "/etc/cmdline.d" ]; then # UKI - echo "Detected a UKI setup" - # Relying on mkinitcpio to assemble a UKI - # https://wiki.archlinux.org/title/Unified_kernel_image - if ! grep -q splash /etc/cmdline.d/*.conf; then - # Need splash, create the omarchy file - echo "splash" | sudo tee -a /etc/cmdline.d/omarchy.conf - fi - if ! grep -q quiet /etc/cmdline.d/*.conf; then - # Need quiet, create or append the omarchy file - echo "quiet" | sudo tee -a /etc/cmdline.d/omarchy.conf - fi - elif [ -f "/etc/kernel/cmdline" ]; then # UKI Alternate - # Alternate UKI kernel cmdline location - echo "Detected a UKI setup" - - # Backup kernel cmdline config before modifying - backup_timestamp=$(date +"%Y%m%d%H%M%S") - sudo cp /etc/kernel/cmdline "/etc/kernel/cmdline.bak.${backup_timestamp}" - - current_cmdline=$(cat /etc/kernel/cmdline) - - # Add splash and quiet if not present - new_cmdline="$current_cmdline" - if [[ ! "$current_cmdline" =~ splash ]]; then - new_cmdline="$new_cmdline splash" - fi - if [[ ! "$current_cmdline" =~ quiet ]]; then - new_cmdline="$new_cmdline quiet" - fi - - # Trim any leading/trailing spaces - new_cmdline=$(echo "$new_cmdline" | xargs) - - # Write new file - echo $new_cmdline | sudo tee /etc/kernel/cmdline - else - echo "" - echo " None of systemd-boot, GRUB, or UKI detected. Please manually add these kernel parameters:" - echo " - splash (to see the graphical splash screen)" - echo " - quiet (for silent boot)" - echo "" - fi -fi diff --git a/install/login/default-keyring.sh b/install/login/default-keyring.sh new file mode 100644 index 00000000..6a3c6a60 --- /dev/null +++ b/install/login/default-keyring.sh @@ -0,0 +1,20 @@ +KEYRING_DIR="$HOME/.local/share/keyrings" +KEYRING_FILE="$KEYRING_DIR/Default_keyring.keyring" +DEFAULT_FILE="$KEYRING_DIR/default" + +cat << EOF | tee "$KEYRING_FILE" +[keyring] +display-name=Default keyring +ctime=$(date +%s) +mtime=0 +lock-on-idle=false +lock-after=false +EOF + +cat << EOF | tee "$DEFAULT_FILE" +Default_keyring +EOF + +chmod 700 "$KEYRING_DIR" +chmod 600 "$KEYRING_FILE" +chmod 644 "$DEFAULT_FILE" diff --git a/install/login/enable-mkinitcpio.sh b/install/login/enable-mkinitcpio.sh deleted file mode 100644 index 7422d8db..00000000 --- a/install/login/enable-mkinitcpio.sh +++ /dev/null @@ -1,18 +0,0 @@ -echo "Re-enabling mkinitcpio hooks..." - -# Restore the specific mkinitcpio pacman hooks -if [ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]; then - sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook -fi - -if [ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]; then - sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook -fi - -echo "mkinitcpio hooks re-enabled" - -if command -v limine &>/dev/null; then - sudo limine-update -else - sudo mkinitcpio -P -fi diff --git a/install/login/limine-snapper.sh b/install/login/limine-snapper.sh index 2d9dc292..6a037207 100644 --- a/install/login/limine-snapper.sh +++ b/install/login/limine-snapper.sh @@ -1,4 +1,6 @@ if command -v limine &>/dev/null; then + sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook + sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf </dev/null HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs) EOF @@ -34,6 +36,7 @@ KERNEL_CMDLINE[default]="$CMDLINE" KERNEL_CMDLINE[default]+="quiet splash" ENABLE_UKI=yes +CUSTOM_UKI_NAME="omarchy" ENABLE_LIMINE_FALLBACK=yes @@ -75,7 +78,6 @@ term_background_bright: 24283b EOF - sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook # Match Snapper configs if not installing from the ISO if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then @@ -96,13 +98,39 @@ EOF chrootable_systemctl_enable limine-snapper-sync.service fi -# Add UKI entry to UEFI machines to skip bootloader showing on normal boot -if [[ -n $EFI ]] && efibootmgr &>/dev/null && ! efibootmgr | grep -q Omarchy && +echo "Re-enabling mkinitcpio hooks..." + +# Restore the specific mkinitcpio pacman hooks +if [ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]; then + sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook +fi + +if [ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]; then + sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook +fi + +echo "mkinitcpio hooks re-enabled" + +sudo limine-update + +if [[ -n $EFI ]] && efibootmgr &>/dev/null; then + # 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/') +fi + +if [[ -n $EFI ]] && efibootmgr &>/dev/null && ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends" && ! 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\\$(cat /etc/machine-id)_linux.efi" + + uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1) + + if [[ -n "$uki_file" ]]; 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 diff --git a/install/login/plymouth.sh b/install/login/plymouth.sh index 72102f27..fad64fe2 100644 --- a/install/login/plymouth.sh +++ b/install/login/plymouth.sh @@ -1,151 +1,4 @@ -# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security - -# ============================================================================== -# PLYMOUTH SETUP -# ============================================================================== - if [ "$(plymouth-set-default-theme)" != "omarchy" ]; then sudo cp -r "$HOME/.local/share/omarchy/default/plymouth" /usr/share/plymouth/themes/omarchy/ sudo plymouth-set-default-theme omarchy fi - -# ============================================================================== -# SEAMLESS LOGIN -# ============================================================================== - -if [ ! -x /usr/local/bin/seamless-login ]; then - # Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop - cat <<'CCODE' >/tmp/seamless-login.c -/* -* Seamless Login - Minimal SDDM-style Plymouth transition -* Replicates SDDM's VT management for seamless auto-login -*/ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char *argv[]) { - int vt_fd; - int vt_num = 1; // TTY1 - char vt_path[32]; - - if (argc < 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); - return 1; - } - - // Open the VT (simple approach like SDDM) - snprintf(vt_path, sizeof(vt_path), "/dev/tty%d", vt_num); - vt_fd = open(vt_path, O_RDWR); - if (vt_fd < 0) { - perror("Failed to open VT"); - return 1; - } - - // Activate the VT - if (ioctl(vt_fd, VT_ACTIVATE, vt_num) < 0) { - perror("VT_ACTIVATE failed"); - close(vt_fd); - return 1; - } - - // Wait for VT to be active - if (ioctl(vt_fd, VT_WAITACTIVE, vt_num) < 0) { - perror("VT_WAITACTIVE failed"); - close(vt_fd); - return 1; - } - - // Critical: Set graphics mode to prevent console text - if (ioctl(vt_fd, KDSETMODE, KD_GRAPHICS) < 0) { - perror("KDSETMODE KD_GRAPHICS failed"); - close(vt_fd); - return 1; - } - - // Clear VT and close (like SDDM does) - const char *clear_seq = "\33[H\33[2J"; - if (write(vt_fd, clear_seq, strlen(clear_seq)) < 0) { - perror("Failed to clear VT"); - } - - close(vt_fd); - - // Set working directory to user's home - const char *home = getenv("HOME"); - if (home) chdir(home); - - // Now execute the session command - execvp(argv[1], &argv[1]); - perror("Failed to exec session"); - return 1; -} -CCODE - - gcc -o /tmp/seamless-login /tmp/seamless-login.c - sudo mv /tmp/seamless-login /usr/local/bin/seamless-login - sudo chmod +x /usr/local/bin/seamless-login - rm /tmp/seamless-login.c -fi - -if [ ! -f /etc/systemd/system/omarchy-seamless-login.service ]; then - cat </dev/null || pacman -Qe plasma-desktop &>/dev/null; abort "Fresh + Vanilla Arch" fi +# Must have limine installed +command -v limine &>/dev/null || abort "Limine bootloader" + +# Must have btrfs root filesystem +[ "$(findmnt -n -o FSTYPE /)" = "btrfs" ] || abort "Btrfs root filesystem" + # Cleared all guards echo "Guards: OK" diff --git a/migrations/1758487660_change_dm_to_sddm.sh b/migrations/1758487660_change_dm_to_sddm.sh new file mode 100755 index 00000000..3d42d2e5 --- /dev/null +++ b/migrations/1758487660_change_dm_to_sddm.sh @@ -0,0 +1,57 @@ +#!/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 </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 + +echo "Migration completed successfully" diff --git a/migrations/1758487662_move_to_custom_uki.sh b/migrations/1758487662_move_to_custom_uki.sh new file mode 100644 index 00000000..731bba2a --- /dev/null +++ b/migrations/1758487662_move_to_custom_uki.sh @@ -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 + From edbafe7a13ee15cb02c3b4a3e7d6be0f57b8d8e4 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 8 Oct 2025 14:11:25 -0400 Subject: [PATCH 062/209] Add SUPER + C / V --- config/hypr/bindings.conf | 2 +- default/hypr/bindings/tiling.conf | 2 +- default/hypr/bindings/utilities.conf | 4 ++++ migrations/1759946485.sh | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 migrations/1759946485.sh diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index 40ac5c68..cb114aba 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -17,7 +17,7 @@ bindd = SUPER, SLASH, Passwords, exec, uwsm-app -- 1password # If your web app url contains #, type it as ## to prevent hyprland from treating it as a comment bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" bindd = SUPER SHIFT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" -bindd = SUPER, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" +bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" bindd = SUPER, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" bindd = SUPER, Y, YouTube, exec, omarchy-launch-or-focus-webapp YouTube "https://youtube.com/" bindd = SUPER SHIFT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/" diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index ea9c36a7..efbc1c73 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -5,7 +5,7 @@ bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows # Control tiling bindd = SUPER, J, Toggle split, togglesplit, # dwindle bindd = SUPER, P, Pseudo window, pseudo, # dwindle -bindd = SUPER, V, Toggle floating, togglefloating, +bindd = SUPER SHIFT, V, Toggle floating, togglefloating, bindd = SHIFT, F11, Force full screen, fullscreen, 0 bindd = ALT, F11, Full width, fullscreen, 1 diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index c8b3efdb..19eccfd6 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -45,3 +45,7 @@ bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a # File sharing bindd = CTRL SUPER, S, Share, exec, omarchy-menu share + +# Copy / Paste +bind = SUPER, C, sendshortcut, CTRL, Insert, +bind = SUPER, V, sendshortcut, SHIFT, Insert, diff --git a/migrations/1759946485.sh b/migrations/1759946485.sh new file mode 100644 index 00000000..fda6e73e --- /dev/null +++ b/migrations/1759946485.sh @@ -0,0 +1,2 @@ +echo "Move calendar to SUPER + SHIFT + C" +sed -i 's/bindd = SUPER, C, Calendar, exec, omarchy-launch-webapp "https:\/\/app\.hey\.com\/calendar\/weeks\/"/bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https:\/\/app.hey.com\/calendar\/weeks\/"/' ~/.config/hypr/*.conf From 39541b4876a94687da2da71dafa1d5eb75b4f0ef Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 8 Oct 2025 18:08:45 -0400 Subject: [PATCH 063/209] Fix package name --- install/omarchy-base.packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index ba396a1d..b5f342f3 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -4,7 +4,7 @@ 1password-beta 1password-cli alacritty -asdcontrol-git +asdcontrol avahi bash-completion bat From d3f70a0c226292185be529e7d3af2fb0d61975a4 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 8 Oct 2025 19:21:26 -0400 Subject: [PATCH 064/209] Make keyring dir --- install/login/default-keyring.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/login/default-keyring.sh b/install/login/default-keyring.sh index 6a3c6a60..134fefb6 100644 --- a/install/login/default-keyring.sh +++ b/install/login/default-keyring.sh @@ -2,6 +2,8 @@ KEYRING_DIR="$HOME/.local/share/keyrings" KEYRING_FILE="$KEYRING_DIR/Default_keyring.keyring" DEFAULT_FILE="$KEYRING_DIR/default" +mkdir -p $KEYRING_DIR + cat << EOF | tee "$KEYRING_FILE" [keyring] display-name=Default keyring From 779fd5a9f59969bc108e70ca2c0cf30a07ed7120 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 8 Oct 2025 20:39:58 -0400 Subject: [PATCH 065/209] Prevent polkit error on reboot (fixes #2175) --- bin/omarchy-cmd-first-run | 1 + install/first-run/cleanup-reboot-sudoers.sh | 3 +++ install/post-install/all.sh | 1 + install/post-install/allow-reboot.sh | 5 +++++ install/post-install/finished.sh | 8 ++++---- 5 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 install/first-run/cleanup-reboot-sudoers.sh create mode 100644 install/post-install/allow-reboot.sh diff --git a/bin/omarchy-cmd-first-run b/bin/omarchy-cmd-first-run index ab0e7e62..1031185f 100755 --- a/bin/omarchy-cmd-first-run +++ b/bin/omarchy-cmd-first-run @@ -8,6 +8,7 @@ if [[ -f "$FIRST_RUN_MODE" ]]; then rm -f "$FIRST_RUN_MODE" bash "$OMARCHY_PATH/install/first-run/battery-monitor.sh" + bash "$OMARCHY_PATH/install/first-run/cleanup-reboot-sudoers.sh" bash "$OMARCHY_PATH/install/first-run/firewall.sh" bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh" bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh" diff --git a/install/first-run/cleanup-reboot-sudoers.sh b/install/first-run/cleanup-reboot-sudoers.sh new file mode 100644 index 00000000..ccc9966b --- /dev/null +++ b/install/first-run/cleanup-reboot-sudoers.sh @@ -0,0 +1,3 @@ +if sudo test -f /etc/sudoers.d/99-omarchy-installer-reboot; then + sudo rm -f /etc/sudoers.d/99-omarchy-installer-reboot +fi diff --git a/install/post-install/all.sh b/install/post-install/all.sh index 4242b627..bb5c0839 100644 --- a/install/post-install/all.sh +++ b/install/post-install/all.sh @@ -1,2 +1,3 @@ run_logged $OMARCHY_INSTALL/post-install/pacman.sh +source $OMARCHY_INSTALL/post-install/allow-reboot.sh source $OMARCHY_INSTALL/post-install/finished.sh diff --git a/install/post-install/allow-reboot.sh b/install/post-install/allow-reboot.sh new file mode 100644 index 00000000..a5e28d14 --- /dev/null +++ b/install/post-install/allow-reboot.sh @@ -0,0 +1,5 @@ +# Allow passwordless reboot for the installer - removed in first-run +sudo tee /etc/sudoers.d/99-omarchy-installer-reboot >/dev/null </dev/null; then - systemctl reboot --no-wall 2>/dev/null + if [[ -n "${OMARCHY_CHROOT_INSTALL:-}" ]]; then + touch /var/tmp/omarchy-install-completed + exit 0 else - reboot 2>/dev/null + sudo reboot 2>/dev/null fi fi From 8caf6dbe2cef15a856098c40a21a257647efc6f6 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 9 Oct 2025 07:02:37 -0400 Subject: [PATCH 066/209] Remove settings that made it awkward for single line notifications --- default/mako/core.ini | 3 --- 1 file changed, 3 deletions(-) diff --git a/default/mako/core.ini b/default/mako/core.ini index 6da413a8..75c711a1 100644 --- a/default/mako/core.ini +++ b/default/mako/core.ini @@ -1,13 +1,10 @@ anchor=top-right default-timeout=5000 width=420 -height=110 outer-margin=20 padding=10,15 border-size=2 -max-icon-size=32 font=sans-serif 14px -format=%s\n%b [app-name=Spotify] invisible=1 From c541faff7d5ac244ddbe1ca66ecda7da504ca933 Mon Sep 17 00:00:00 2001 From: Miguel P Date: Thu, 9 Oct 2025 05:04:26 -0600 Subject: [PATCH 067/209] chore: better contrast for ristretto kitty conf (#2297) * Fix comment * chore: better contrast for ristretto kitty conf * better looking tab background --------- Co-authored-by: David Heinemeier Hansson --- themes/ristretto/kitty.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/ristretto/kitty.conf b/themes/ristretto/kitty.conf index 7af91435..7640e7cc 100644 --- a/themes/ristretto/kitty.conf +++ b/themes/ristretto/kitty.conf @@ -11,15 +11,15 @@ cursor_text_color #c3b7b8 url_color #e6d9db -active_border_color #595959 +active_border_color #e6d9db inactive_border_color #595959 bell_border_color #595959 -active_tab_foreground #e6d9db -active_tab_background #2c2525 +active_tab_foreground #2c2525 +active_tab_background #f9cc6c inactive_tab_foreground #e6d9db inactive_tab_background #2c2525 -tab_bar_background #e6d9db +tab_bar_background #404040 mark1_foreground #2c2525 mark1_background #404040 From a544e78107d5836f1525d6e6fcaacde677d6df57 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 9 Oct 2025 07:16:12 -0400 Subject: [PATCH 068/209] Add Ctrl + Super + Ins as Copy So we can hook it up to super + C/V --- config/alacritty/alacritty.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml index 219f3be4..f7a4df9a 100644 --- a/config/alacritty/alacritty.toml +++ b/config/alacritty/alacritty.toml @@ -17,5 +17,6 @@ decorations = "None" [keyboard] bindings = [ { key = "F11", action = "ToggleFullscreen" }, -{ key = "Insert", mods = "Shift", action = "Paste" } +{ key = "Insert", mods = "Shift", action = "Paste" }, +{ key = "Insert", mods = "Control", action = "Copy" } ] From d7d8f525e32f1d4416f07e284fccc1f5010bd097 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 9 Oct 2025 07:52:32 -0400 Subject: [PATCH 069/209] Control icon size still --- default/mako/core.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/default/mako/core.ini b/default/mako/core.ini index 75c711a1..d67747de 100644 --- a/default/mako/core.ini +++ b/default/mako/core.ini @@ -4,6 +4,7 @@ width=420 outer-margin=20 padding=10,15 border-size=2 +max-icon-size=32 font=sans-serif 14px [app-name=Spotify] From 41b09c29f8b19f6dda0b25f2d3c9ae9addacf545 Mon Sep 17 00:00:00 2001 From: Mitch Lombardi Date: Fri, 10 Oct 2025 09:18:36 -0400 Subject: [PATCH 070/209] Disable wall messages on shutdown/reboot (#2341) --- bin/omarchy-menu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index ab4be13f..619dfc9e 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -453,8 +453,8 @@ show_system_menu() { *Screensaver*) omarchy-launch-screensaver force ;; *Suspend*) systemctl suspend ;; *Relaunch*) omarchy-state clear relaunch-required && sudo systemctl restart sddm ;; - *Restart*) omarchy-state clear re*-required && systemctl reboot ;; - *Shutdown*) omarchy-state clear re*-required && systemctl poweroff ;; + *Restart*) omarchy-state clear re*-required && systemctl reboot --no-wall ;; + *Shutdown*) omarchy-state clear re*-required && systemctl poweroff --no-wall ;; *) back_to show_main_menu ;; esac } From b063c7f5f39ff9e7e20cf8c38298cece6cb493e1 Mon Sep 17 00:00:00 2001 From: missing person <66869393+sa-dd@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:19:43 +0500 Subject: [PATCH 071/209] fix comment: wrong path for base packages script (#2325) * Fix comment * fix comment: wrong path for base package script --------- Co-authored-by: David Heinemeier Hansson --- install/omarchy-base.packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index b5f342f3..62b2524c 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -1,4 +1,4 @@ -# Omarchy core package list installed via install/packages.sh +# Omarchy core package list installed via install/packaging/base.sh # This file is also used by the ISO builder when determining needs 1password-beta From cc1acc10b8e41d9e66c92f6799d668a5d6ba6de5 Mon Sep 17 00:00:00 2001 From: Andrej Benz Date: Fri, 10 Oct 2025 16:01:02 +0200 Subject: [PATCH 072/209] Walker: migrate to 2.0.0 (#1005) * fix: remove theme-flag * migration: walker 1.0.0-beta * Fixups * Add elephant and walker * Update for new layout.xml * Clean up some styling * add unicode and todo providers * remove default quick activate keybinds * Update keybinds and remove defaults to prevent conflict * Fix menu option * Fixes * Remove * Update height * Add elephant service * Remove from hyprland * Restart service now * Trim * Update height * Fix keybindings style * Fix install location * Add walker restart * Fix indention * Fix indention * Fix indention * Fix indention * Advance to present * Need to refresh to bring over the new config * style adjustments * Correct the installation of the 1pw policy installer * Skip the prebuilt for a second while we test * Need libyaml to build ruby * No longer needed, gcc-15 compatibility has been added * Let's just stick to the official path * GCC15 compatibility for Ruby has been achieved * No longer necessary The other mise option is set on Ruby on Rails install * Added ZLS - Zig's Language Server when installing Zig (#1718) * style adjustments * styling changes * add only_search_title * css adjustments to fix broken styles * Be tall again * Remove for future variable height menu * Update height / width params * fix: remove theme-flag * Fix spacing..again * Remove service and add launch util * Fix * fix: wrong emojis flag * remove flag, its dmenu only * set min content width to prevent flickering if the item list contains shorter items * Remove unused service * Megakill needed * Remove any old themes too * Remove min-width * Style adjustments * changes for walker/elephant updates * Match current width * Add a little more space between icon and text * fix: bluetooth find bind * remove archlinux provider, fix migration with missing providers * fix: css import * Fix theme path * fix: add new error label to layout * Fix migration --------- Co-authored-by: David Heinemeier Hansson Co-authored-by: Ryan Hughes Co-authored-by: DoKoB0512 <123281216+DoKoB0512@users.noreply.github.com> --- bin/omarchy-launch-walker | 8 + bin/omarchy-menu | 4 +- bin/omarchy-menu-keybindings | 2 +- bin/omarchy-refresh-elephant | 4 + bin/omarchy-restart-walker | 7 +- config/elephant/desktopapplications.toml | 3 + config/walker/config.toml | 219 +++++++++++------- default/hypr/autostart.conf | 3 +- default/hypr/bindings/utilities.conf | 4 +- default/walker/themes/dmenu_150.css | 2 - default/walker/themes/dmenu_150.toml | 10 - default/walker/themes/dmenu_250.css | 2 - default/walker/themes/dmenu_250.toml | 11 - default/walker/themes/keybindings.css | 2 - default/walker/themes/keybindings.toml | 48 ---- default/walker/themes/omarchy-default.css | 169 -------------- default/walker/themes/omarchy-default.toml | 16 -- .../walker/themes/omarchy-default/layout.xml | 129 +++++++++++ .../walker/themes/omarchy-default/style.css | 122 ++++++++++ install/config/all.sh | 1 + install/config/browser-policies.sh | 9 + install/config/walker-elephant.sh | 17 ++ install/omarchy-base.packages | 15 +- migrations/1758107878.sh | 26 +++ 24 files changed, 473 insertions(+), 360 deletions(-) create mode 100755 bin/omarchy-launch-walker create mode 100755 bin/omarchy-refresh-elephant create mode 100644 config/elephant/desktopapplications.toml delete mode 100644 default/walker/themes/dmenu_150.css delete mode 100644 default/walker/themes/dmenu_150.toml delete mode 100644 default/walker/themes/dmenu_250.css delete mode 100644 default/walker/themes/dmenu_250.toml delete mode 100644 default/walker/themes/keybindings.css delete mode 100644 default/walker/themes/keybindings.toml delete mode 100644 default/walker/themes/omarchy-default.css delete mode 100644 default/walker/themes/omarchy-default.toml create mode 100644 default/walker/themes/omarchy-default/layout.xml create mode 100644 default/walker/themes/omarchy-default/style.css create mode 100644 install/config/browser-policies.sh create mode 100644 install/config/walker-elephant.sh create mode 100644 migrations/1758107878.sh diff --git a/bin/omarchy-launch-walker b/bin/omarchy-launch-walker new file mode 100755 index 00000000..4de48be4 --- /dev/null +++ b/bin/omarchy-launch-walker @@ -0,0 +1,8 @@ +#!/bin/bash + +# Ensure elephant is running before launching walker +if ! pgrep -x elephant > /dev/null; then + setsid uwsm app -- elephant & +fi + +exec walker "$@" diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 619dfc9e..4526d5d1 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -29,11 +29,11 @@ menu() { local index index=$(echo -e "$options" | grep -nxF "$preselect" | cut -d: -f1) if [[ -n "$index" ]]; then - args+=("-a" "$index") + args+=("-c" "$index") fi fi - echo -e "$options" | walker --dmenu --theme dmenu_250 -p "$prompt…" "${args[@]}" + echo -e "$options" | omarchy-launch-walker --dmenu --width 295 --minheight 1 --maxheight 600 -p "$prompt…" "${args[@]}" 2>/dev/null } terminal() { diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index 093f0495..4547a6dc 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -156,4 +156,4 @@ dynamic_bindings | sort -u | parse_keycodes | parse_bindings | - walker --dmenu --theme keybindings -p 'Keybindings' -w 800 -h "$menu_height" + walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height" diff --git a/bin/omarchy-refresh-elephant b/bin/omarchy-refresh-elephant new file mode 100755 index 00000000..3958a5bd --- /dev/null +++ b/bin/omarchy-refresh-elephant @@ -0,0 +1,4 @@ +#!/bin/bash + +omarchy-refresh-config elephant/desktopapplications.toml +omarchy-restart-elephant diff --git a/bin/omarchy-restart-walker b/bin/omarchy-restart-walker index 7e3396af..c56be47f 100755 --- a/bin/omarchy-restart-walker +++ b/bin/omarchy-restart-walker @@ -1,7 +1,6 @@ #!/bin/bash +pkill elephant +setsid uwsm app -- elephant & pkill walker -# FIXME: Just deal with the memory leak for now. -# See https://github.com/basecamp/omarchy/issues/698 -setsid uwsm-app -- walker --gapplication-service & -echo # Always end in success so we don't terminate further running +setsid uwsm app -- walker --gapplication-service & \ No newline at end of file diff --git a/config/elephant/desktopapplications.toml b/config/elephant/desktopapplications.toml new file mode 100644 index 00000000..aa6acc12 --- /dev/null +++ b/config/elephant/desktopapplications.toml @@ -0,0 +1,3 @@ +show_actions = true +only_search_title = true +history = false diff --git a/config/walker/config.toml b/config/walker/config.toml index da79b96d..55549733 100644 --- a/config/walker/config.toml +++ b/config/walker/config.toml @@ -1,100 +1,141 @@ -close_when_open = true -theme = "omarchy-default" -theme_base = [] -theme_location = ["~/.local/share/omarchy/default/walker/themes/"] -hotreload_theme = true -force_keyboard_focus = true -timeout = 60 +force_keyboard_focus = true # forces keyboard forcus to stay in Walker +close_when_open = true # close walker when invoking while already opened +selection_wrap = true # wrap list if at bottom or top +click_to_close = true # closes walker if clicking outside of the main content area +global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config +exact_search_prefix = "'" # disable fuzzy searching +theme = "omarchy-default" # theme to use +disable_mouse = false # disable mouse (on input and list only) +additional_theme_location = "~/.local/share/omarchy/default/walker/themes/" -[keys.ai] -run_last_response = ["ctrl e"] +[shell] +anchor_top = true +anchor_bottom = true +anchor_left = true +anchor_right = true -[list] -max_entries = 200 -cycle = true +[placeholders] +"default" = { input = " Search...", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other" -[search] -placeholder = " Search..." +[keybinds] +close = ["Escape"] +next = ["Down"] +previous = ["Up"] +toggle_exact = ["ctrl e"] +resume_last_query = ["ctrl r"] +quick_activate = [] -[builtins.hyprland_keybinds] -path = "~/.config/hypr/hyprland.conf" -hidden = true +[providers] +default = [ + "desktopapplications", + "menus", + "websearch", +] # providers to be queried by default +empty = ["desktopapplications"] # providers to be queried when query is empty -[builtins.applications] -launch_prefix = "uwsm-app -- " -placeholder = " Search..." -prioritize_new = false -context_aware = false -show_sub_when_single = false -history = false -icon = "" -hidden = true +[[providers.prefixes]] +prefix = "/" +provider = "providerlist" -[builtins.applications.actions] -enabled = false -hide_category = true - -[builtins.bookmarks] -hidden = true - -[[builtins.bookmarks.entries]] -label = "Omarchy - Github" -url = "https://github.com/basecamp/omarchy" -keywords = ["omarchy", "github"] - -[[builtins.bookmarks.entries]] -label = "Omarchy Manual" -url = "https://manuals.omamix.org/2/the-omarchy-manual" -keywords = ["omarchy"] - -[builtins.calc] -name = "Calculator" -icon = "" -min_chars = 3 -prefix = "=" - -[builtins.windows] -switcher_only = true -hidden = true - -[builtins.clipboard] -hidden = true - -[builtins.commands] -hidden = true - -[builtins.custom_commands] -hidden = true - -[builtins.emojis] -name = "Emojis" -icon = "" -prefix = ":" - -[builtins.symbols] -after_copy = "" -hidden = true - -[builtins.finder] -use_fd = true -cmd_alt = "xdg-open $(dirname ~/%RESULT%)" -icon = "file" -name = "Finder" -preview_images = true -hidden = false +[[providers.prefixes]] prefix = "." +provider = "files" -[builtins.runner] -shell_config = "" -switcher_only = true -hidden = true +[[providers.prefixes]] +prefix = ":" +provider = "symbols" -[builtins.ssh] -hidden = true +[[providers.prefixes]] +prefix = "=" +provider = "calc" -[builtins.websearch] -switcher_only = true -hidden = true +[[providers.prefixes]] +prefix = "@" +provider = "websearch" -[builtins.translation] -hidden = true +[[providers.prefixes]] +prefix = "$" +provider = "clipboard" + +[providers.actions] +dmenu = [{ action = "select", default = true, bind = "Return" }] + +providerlist = [ + { action = "activate", default = true, bind = "Return", after = "ClearReload" }, +] + +bluetooth = [ + { action = "find", global = true, bind = "ctrl f", after = "AsyncClearReload" }, + { action = "trust", bind = "ctrl t", after = "AsyncReload" }, + { action = "untrust", bind = "ctrl t", after = "AsyncReload" }, + { action = "pair", bind = "Return", after = "AsyncReload" }, + { action = "remove", bind = "ctrl d", after = "AsyncReload" }, + { action = "connect", bind = "Return", after = "AsyncReload" }, + { action = "disconnect", bind = "Return", after = "AsyncReload" }, +] + +archlinuxpkgs = [ + { action = "install", bind = "Return", default = true }, + { action = "remove", bind = "Return" }, +] + +calc = [ + { action = "copy", default = true, bind = "Return" }, + { action = "delete", bind = "ctrl d", after = "AsyncReload" }, + { action = "save", bind = "ctrl s", after = "AsyncClearReload" }, +] + +websearch = [ + { action = "search", default = true, bind = "Return" }, + { action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" }, +] + +desktopapplications = [ + { action = "start", default = true, bind = "Return" }, + { action = "start", label = "open+next", bind = "shift Return", after = "KeepOpen" }, + { action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" }, + { action = "pin", bind = "ctrl p", after = "AsyncReload" }, + { action = "unpin", bind = "ctrl p", after = "AsyncReload" }, + { action = "pinup", bind = "ctrl n", after = "AsyncReload" }, + { action = "pindown", bind = "ctrl m", after = "AsyncReload" }, +] + +files = [ + { action = "open", default = true, bind = "Return" }, + { action = "opendir", label = "open dir", bind = "ctrl Return" }, + { action = "copypath", label = "copy path", bind = "ctrl shift c" }, + { action = "copyfile", label = "copy file", bind = "ctrl c" }, +] + +todo = [ + { action = "save", default = true, bind = "Return", after = "ClearReload" }, + { action = "delete", bind = "ctrl d", after = "ClearReload" }, + { action = "active", bind = "Return", after = "ClearReload" }, + { action = "inactive", bind = "Return", after = "ClearReload" }, + { action = "done", bind = "ctrl f", after = "ClearReload" }, + { action = "clear", bind = "ctrl x", after = "ClearReload", global = true }, +] + +runner = [ + { action = "run", default = true, bind = "Return" }, + { action = "runterminal", label = "run in terminal", bind = "shift Return" }, + { action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" }, +] + +symbols = [ + { action = "run_cmd", label = "select", default = true, bind = "Return" }, + { action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" }, +] + +unicode = [ + { action = "run_cmd", label = "select", default = true, bind = "Return" }, + { action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" }, +] + +clipboard = [ + { action = "copy", default = true, bind = "Return" }, + { action = "remove", bind = "ctrl d", after = "ClearReload" }, + { action = "remove_all", global = true, label = "clear", bind = "ctrl shift d", after = "ClearReload" }, + { action = "toggle_images", global = true, label = "toggle images", bind = "ctrl i", after = "ClearReload" }, + { action = "edit", bind = "ctrl o" }, +] diff --git a/default/hypr/autostart.conf b/default/hypr/autostart.conf index f646aac5..e22c49bd 100644 --- a/default/hypr/autostart.conf +++ b/default/hypr/autostart.conf @@ -4,7 +4,8 @@ exec-once = uwsm app -- waybar exec-once = uwsm app -- fcitx5 exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill exec-once = uwsm app -- swayosd-server -exec-once = uwsm app -- walker --gapplication-service exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+' exec-once = omarchy-cmd-first-run +exec-once = uwsm app -- elephant +exec-once = uwsm app -- walker --gapplication-service diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 19eccfd6..6b20ce9f 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -1,6 +1,6 @@ # Menus -bindd = SUPER, SPACE, Launch apps, exec, walker -p "Start…" -bindd = SUPER CTRL, E, Emoji picker, exec, walker -m Emojis +bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker +bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system diff --git a/default/walker/themes/dmenu_150.css b/default/walker/themes/dmenu_150.css deleted file mode 100644 index 14bafe7a..00000000 --- a/default/walker/themes/dmenu_150.css +++ /dev/null @@ -1,2 +0,0 @@ -@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css"); -@import url("file://~/.config/omarchy/current/theme/walker.css"); diff --git a/default/walker/themes/dmenu_150.toml b/default/walker/themes/dmenu_150.toml deleted file mode 100644 index 3c139976..00000000 --- a/default/walker/themes/dmenu_150.toml +++ /dev/null @@ -1,10 +0,0 @@ -[ui.window.box] -width = 150 - -[ui.window.box.scroll.list] -max_width = 150 -min_width = 150 -width = 150 - -[ui.window.box.search] -hide = false diff --git a/default/walker/themes/dmenu_250.css b/default/walker/themes/dmenu_250.css deleted file mode 100644 index 14bafe7a..00000000 --- a/default/walker/themes/dmenu_250.css +++ /dev/null @@ -1,2 +0,0 @@ -@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css"); -@import url("file://~/.config/omarchy/current/theme/walker.css"); diff --git a/default/walker/themes/dmenu_250.toml b/default/walker/themes/dmenu_250.toml deleted file mode 100644 index b9ffc1e7..00000000 --- a/default/walker/themes/dmenu_250.toml +++ /dev/null @@ -1,11 +0,0 @@ -[ui.window.box] -width = 250 - -[ui.window.box.scroll.list] -max_width = 250 -min_width = 250 -width = 250 -max_height = 600 - -[ui.window.box.search] -hide = false diff --git a/default/walker/themes/keybindings.css b/default/walker/themes/keybindings.css deleted file mode 100644 index 14bafe7a..00000000 --- a/default/walker/themes/keybindings.css +++ /dev/null @@ -1,2 +0,0 @@ -@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css"); -@import url("file://~/.config/omarchy/current/theme/walker.css"); diff --git a/default/walker/themes/keybindings.toml b/default/walker/themes/keybindings.toml deleted file mode 100644 index c5d1b78d..00000000 --- a/default/walker/themes/keybindings.toml +++ /dev/null @@ -1,48 +0,0 @@ -[ui.window.box] -width = 964 -min_width = 964 -max_width = 964 - -height = 664 -min_height = 664 -max_height = 664 - -[ui.window.box.search] -hide = false - -[ui.window.box.scroll] -v_align = "fill" -h_align = "fill" -min_width = 964 -width = 964 -max_width = 964 -min_height = 664 -height = 664 -max_height = 664 - -[ui.window.box.scroll.list] -v_align = "fill" -h_align = "fill" -min_width = 900 -width = 900 -max_width = 900 -min_height = 600 -height = 600 -max_height = 600 - -[ui.window.box.scroll.list.item] -h_align = "fill" -min_width = 900 -width = 900 -max_width = 900 - -[ui.window.box.scroll.list.item.activation_label] -hide = true - -[ui.window.box.scroll.list.placeholder] -v_align = "start" -h_align = "fill" -hide = false -min_width = 900 -width = 900 -max_width = 900 diff --git a/default/walker/themes/omarchy-default.css b/default/walker/themes/omarchy-default.css deleted file mode 100644 index 6e453b6e..00000000 --- a/default/walker/themes/omarchy-default.css +++ /dev/null @@ -1,169 +0,0 @@ -/* Reset all elements */ -#window, -#box, -#search, -#password, -#input, -#prompt, -#clear, -#typeahead, -#list, -child, -scrollbar, -slider, -#item, -#text, -#label, -#sub, -#activationlabel { - all: unset; -} - -* { - font-family: monospace; - font-size: 18px; -} - -/* Window */ -#window { - background: transparent; - color: @text; -} - -/* Main box container */ -#box { - background: alpha(@base, 0.95); - padding: 20px; - border: 2px solid @border; - border-radius: 0px; -} - -/* Search container */ -#search { - background: @base; - padding: 10px; - margin-bottom: 0; -} - -/* Hide prompt icon */ -#prompt { - opacity: 0; - min-width: 0; - margin: 0; -} - -/* Hide clear button */ -#clear { - opacity: 0; - min-width: 0; -} - -/* Input field */ -#input { - background: none; - color: @text; - padding: 0; -} - -#input placeholder { - opacity: 0.5; - color: @text; -} - -/* Hide typeahead */ -#typeahead { - opacity: 0; -} - -/* List */ -#list { - background: transparent; -} - -/* List items */ -child { - padding: 0px 12px; - background: transparent; - border-radius: 0; -} - -child:selected, -child:hover { - background: transparent; -} - -/* Item layout */ -#item { - padding: 0; -} - -#item.active { - font-style: italic; -} - -/* Icon */ -#icon { - margin-right: 10px; - -gtk-icon-transform: scale(0.7); -} - -/* Text */ -#text { - color: @text; - padding: 14px 0; -} - -#label { - font-weight: normal; -} - -/* Selected state */ -child:selected #text, -child:selected #label, -child:hover #text, -child:hover #label { - color: @selected-text; -} - -/* Hide sub text */ -#sub { - opacity: 0; - font-size: 0; - min-height: 0; -} - -/* Hide activation label */ -#activationlabel { - opacity: 0; - min-width: 0; -} - -/* Scrollbar styling */ -scrollbar { - opacity: 0; -} - -/* Hide spinner */ -#spinner { - opacity: 0; -} - -/* Hide AI elements */ -#aiScroll, -#aiList, -.aiItem { - opacity: 0; - min-height: 0; -} - -/* Bar entry (switcher) */ -#bar { - opacity: 0; - min-height: 0; -} - -.barentry { - opacity: 0; -} - -@import url("file://~/.config/omarchy/current/theme/walker.css"); diff --git a/default/walker/themes/omarchy-default.toml b/default/walker/themes/omarchy-default.toml deleted file mode 100644 index 9abc5d8f..00000000 --- a/default/walker/themes/omarchy-default.toml +++ /dev/null @@ -1,16 +0,0 @@ -[ui.window.box] -width = 664 -min_width = 664 -max_width = 664 -height = 396 -min_height = 396 -max_height = 396 - -# List constraints are critical - without these, the window shrinks when empty -[ui.window.box.scroll.list] -height = 300 -min_height = 300 -max_height = 300 - -[ui.window.box.scroll.list.item.icon] -pixel_size = 40 diff --git a/default/walker/themes/omarchy-default/layout.xml b/default/walker/themes/omarchy-default/layout.xml new file mode 100644 index 00000000..a79de744 --- /dev/null +++ b/default/walker/themes/omarchy-default/layout.xml @@ -0,0 +1,129 @@ + + + + + + true + Walker + + + + 644 + hidden + horizontal + center + center + + + + vertical + true + true + 10 + + + + hidden + horizontal + fill + true + true + + + + fill + true + true + + + + + + + + horizontal + 10 + true + true + + + + true + 100 + Waiting for elephant... + + + + + + No Results + 0.0 + true + + + + + + true + false + true + 600 + 300 + 0 + true + true + automatic + automatic + + + + 1 + false + + + + + + + + + + + + + + + 0 + false + + + + + + + + diff --git a/default/walker/themes/omarchy-default/style.css b/default/walker/themes/omarchy-default/style.css new file mode 100644 index 00000000..8cbe16c1 --- /dev/null +++ b/default/walker/themes/omarchy-default/style.css @@ -0,0 +1,122 @@ +@import "../../../../../../../.config/omarchy/current/theme/walker.css"; + +* { + all: unset; +} + +* { + font-family: monospace; + font-size: 18px; + color: @text; +} + +scrollbar { + opacity: 0; +} + +.normal-icons { + -gtk-icon-size: 16px; +} + +.large-icons { + -gtk-icon-size: 32px; +} + +.box-wrapper { + background: alpha(@base, 0.95); + padding: 20px; + border: 2px solid @border; + border-radius: 0px; +} + +.preview-box { +} + +.box { +} + +.search-container { + background: @base; + padding: 10px; +} + +.input placeholder { + opacity: 0.5; +} + +.input { +} + +.input:focus, +.input:active { + box-shadow: none; + outline: none; +} + +.content-container { +} + +.placeholder { +} + +.scroll { +} + +.list { +} + +child, +child > * { +} + +child:hover .item-box { +} + +child:selected .item-box { +} + +child:selected .item-box * { + color: @selected-text; +} + +.item-box { + padding-left: 14px; +} + +.item-text-box { + all: unset; + padding: 14px 0; +} + +.item-text { +} + +.item-subtext { + font-size: 0px; + min-height: 0px; + margin: 0px; + padding: 0px; +} + +.item-image { + margin-right: 14px; + -gtk-icon-transform: scale(0.9); +} + +.item-box.calc .item-image { + -gtk-icon-source: url("file:///home/ryan/Downloads/gitlab.svg"); +} + +.current { + font-style: italic; +} + +.keybind-hints { + background: @background; + padding: 10px; + margin-top: 10px; +} + +.preview { + background: @background; +} diff --git a/install/config/all.sh b/install/config/all.sh index eeb9810b..f7a8de91 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -14,6 +14,7 @@ run_logged $OMARCHY_INSTALL/config/fix-powerprofilesctl-shebang.sh run_logged $OMARCHY_INSTALL/config/docker.sh run_logged $OMARCHY_INSTALL/config/mimetypes.sh run_logged $OMARCHY_INSTALL/config/localdb.sh +run_logged $OMARCHY_INSTALL/config/walker-elephant.sh run_logged $OMARCHY_INSTALL/config/fast-shutdown.sh run_logged $OMARCHY_INSTALL/config/sudoless-asdcontrol.sh run_logged $OMARCHY_INSTALL/config/hardware/network.sh diff --git a/install/config/browser-policies.sh b/install/config/browser-policies.sh new file mode 100644 index 00000000..cc1fc645 --- /dev/null +++ b/install/config/browser-policies.sh @@ -0,0 +1,9 @@ +# Add 1password extension to Chromium +sudo mkdir -p /etc/chromium/policies/managed/ +sudo cp $OMARCHY_PATH/default/chromium/policies/managed/onepassword.json /etc/chromium/policies/managed/onepassword.json +sudo chmod 644 /etc/chromium/policies/managed/onepassword.json + +# Add 1password extension to future Brave installs +sudo mkdir -p /etc/brave/policies/managed/ +sudo cp $OMARCHY_PATH/default/brave/policies/managed/onepassword.json /etc/brave/policies/managed/onepassword.json +sudo chmod 644 /etc/brave/policies/managed/onepassword.json diff --git a/install/config/walker-elephant.sh b/install/config/walker-elephant.sh new file mode 100644 index 00000000..e8e3330f --- /dev/null +++ b/install/config/walker-elephant.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Create pacman hook to restart walker after updates +sudo mkdir -p /etc/pacman.d/hooks +sudo tee /etc/pacman.d/hooks/walker-restart.hook > /dev/null << EOF +[Trigger] +Type = Package +Operation = Upgrade +Target = walker +Target = walker-debug +Target = elephant* + +[Action] +Description = Restarting Walker services after system update +When = PostTransaction +Exec = $OMARCHY_PATH/bin/omarchy-restart-walker +EOF diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 62b2524c..2dfb0805 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -21,6 +21,19 @@ docker docker-buildx docker-compose dust +elephant +elephant-bluetooth +elephant-calc +elephant-clipboard +elephant-desktopapplications +elephant-files +elephant-menus +elephant-providerlist +elephant-runner +elephant-symbols +elephant-todo +elephant-unicode +elephant-websearch evince eza fastfetch @@ -114,7 +127,7 @@ ufw ufw-docker unzip uwsm -walker-bin +walker waybar wf-recorder whois diff --git a/migrations/1758107878.sh b/migrations/1758107878.sh new file mode 100644 index 00000000..52fe818d --- /dev/null +++ b/migrations/1758107878.sh @@ -0,0 +1,26 @@ +echo "Migrate to Walker 2.0.0" + +# Ensure we kill walker even if there's a restarting service running +kill -9 $(pgrep -x walker) + +omarchy-pkg-drop walker-bin walker-bin-debug + +omarchy-pkg-add 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 + +source $OMARCHY_PATH/install/config/walker-elephant.sh + +rm -rf ~/.config/walker/themes +omarchy-refresh-walker From 6b3fc34361f7ebee356e214508cac857199190a4 Mon Sep 17 00:00:00 2001 From: Damian Ignaczak Date: Fri, 10 Oct 2025 16:05:05 +0200 Subject: [PATCH 073/209] Add background for matte black theme (#2288) --- .../backgrounds/2-matte-black-hands.jpg | Bin 0 -> 482067 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 themes/matte-black/backgrounds/2-matte-black-hands.jpg diff --git a/themes/matte-black/backgrounds/2-matte-black-hands.jpg b/themes/matte-black/backgrounds/2-matte-black-hands.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b76792cb81eb35d68d9b442a8abbc286e9025d77 GIT binary patch literal 482067 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

Z`x%E_F9T=A| z){7D;G9{QYzgJ+vs)~Bhxqey}r@BK9u`M@-D0w+tAvrnny$dRIUdbezv!;1$Wwp`w zgOWIaNMeylP{c1V7ppPhf?B=8F^P-bY^(Z}qlr?%Xf+^7v3v3>aj)d?C82Jrv`r)0 z6%s6sMgn|xwIf^vO8RS|v`FnHrO>tOskJfF@E6`4)4UjV1>ZZPe&GxUi7ag#ZX(@8 z`~yC8ltCDiR9_uSXqxP>sHmE;J0S34!)R@E(yPP2l`rfn^SzUw_mXxi5Z~qP=ElEX zILrG4^{_58wq=R7GkzMrC$SvJ-Ww^N3@NrCDl)HZBFaZWigGa?Rv78pz2dQub#kre zpsDnNR-c*)0yDo>g_m`7+n!tw+Jh$v(gy1~Ai3X#euT9Yh>9g(pAmwZBCrU~l%5 zZ6CuKFNc34yBXlTO67eG;I?{V-e3_f(loZz+}#@*=p7*`46r8|@Mj@U zOTL%(j+T@XBxot%`-{a-i#nj3q9oqLczol*q8Ohb5G_33)PX4)+cdxAY_FNinUZ4u z#Gu~g&W}3Bi~L3FS6pzZLP3br;#-=4b%vU7hPbJV3RbiIYVR|TLmp2aK|q-4hhgov6@!N=R*#89ZMol0j>PUv;!jQlM?z1Gow_cYCTF;r) ztQPCje2c_Z&|3=!CBrht4t>hFnoL#BAz*)QILTs&VNvhP0aCQmcwD1p~fv*=(3m* z#;0c3)FR`*nX2bgXKfKQOM5Jucx6aqepZa&(~3iUtl4eO!a0RTnnzK=RikBkpPi*FP%jm(xe=wt`Md7}Sihnoq$UJ~&X zThY)wKcr2nqKSdu27V3NJCF7~4E@N;Yl}ay+Rd#?@oQMKv?XH+L!>H~Azc6St6gno z9A!k*^~y#SROia{{W20|FwWbDXVrz#4WPh0>A z7mET}*In&bn}Rk>Hh6Kg63-rCPLIFAU-2QXB&7kll*-B(#)2C zDQ99alxjGENE{sx!8nxdt9c|~wuc?tiau7nx3{hi>0b?-g;~2pI$$ZO2;-f9lF~Ye z(3r2)<#V>+smI}hHE3e7Wx}+H?I5r4W>WbEV&Kh-B`it6VPzNa7+{oYZoEa8I^WZZ zIu*^Q=t}6D>LyhA<`s@UwWH55j4BT{@&Bq(a&tFlx?!`!o_AWs<1s|D{vOgxz{!e9 zr9+Q5q}Nb%j+CGIt+Zyt@hmrA``Z%ZnID!o0&}W6Z<^om$))Imoe3M>ASP%Y6U6iF zDSF&xJCrK%gJMjBB!9G2S}Z{zY@#9~EsU0WY1eVUz{;sQ7uDl;pl9pWtn;QDfll|o zp6HHavw&Ho1rvj^I{_%*U1nYnLVCgQipDgFNZQmo2{4o7KJM@MM41FR=F|bMqKZBK zA>HBCGzGtKj(}RCQW$*taQ^}<4PTqAb4(Y(Z7%e(rH9>p7A}`zrO)_>zlz?)@DW>` zeodx5F~Vg)ITtP_SgL=Mq3iHe^GCN=m=|O)eBEtXp=Vtpa2ZAj#g&;cjVAxqxuGh) za1Bifuo4pHp>3use2gPBzZq$)92O-8#jIFvM+0-zl{v62mJdDOZAHW%(zRf7N0$zw zFKqE?(s4Zn64@eqaY;@n%i9MI8HqM@jSveeKP{mg_&f5< z8MwhpE%47Tf`ZpPMk5|o4`rMx-ZdD{{PI~T#NqnpeByAr5_4+V7?DrrxJm9ms0fb* zMpIY>t7$63AM|!TYGDCuHFFtLqXO?VdYzY`O0c3{}_CK#0qcOXG z3Jqx4pMq>>YKL{gPCIH=a;$wVfyBX5(USWSlZi5nE*d+Ujh$R3o;bIrX_@ev1wP+F zy!F+Qt*uA`dOyob%9ncum8|}aycC>17HD4}7$W46WXKT2k7E-E>q6?#HeyF{BUBR+ zP`yJlYU}({nW=U7eRj7P-V=MUp3%g7t}Q;B4hHNtlaogNOiT0rDp^VTYk zocW|wREp4X_@r_dZAb`>Q|mZ|FO`8*BCO9d%Wdt7QD0@Qzf)y(%E4LebIWV?>E~L* zAFwBe_N{_3l3#6Dya}#MJ$Ig82&K9{w69d?^*}!K zfkza}-=a=Z7hfub3N-K5$S9_c{)pRGZ=}FIDM_ta>YABw4wKD@FZPVP5GkJi{SRtW z_W1T!(wkYf$3M8HDn{zGMg*0o!eiR+Ct9ZQt4l_Unmf@=Z3GGjufCUC7sV+00UY=K z7j#?m*aIOP{ymS#9#4eN^#yKB!;4B{5I>55!#n0mNeXhR!0)JR+oOI83|Wop zWb;!K<*@j_pFDyfAfoUqLXE&m_A4D?t%qmx@7Oj z69bLsR2cFmOY!I9br;PON5qCFxb2wUJ$8&!E)biATJm|Sc7V%sT!3Jk4EH+witijB z5uS}s(YZTO(UkRCLj(M%DP$auiFu#{OWT$crJC+qs&WpYR`MnTO<(FmzYJt~%t1ae zTqMizc}g>nKV)|JRvm^XUol!5H>2?6Emj;3gu_jWE7)y~4g`WYMm>;g>P9ug=>@`S zNoHL#Sxh>c`29jUMuu(vp4$w6aS>y9F+XN;avI`&?^RR0bK}pQgf_ZiV~KKEA$q@8 z=El5+Mm)wM!mv>}brNO|YUY_Z*irNrq*p9Hr1@fW0zWh=b8EVi2`xIJ;c(b)SBeK} zjj>a*@H|AkA~`6a%@vac&{NT z15*?g@1cmiIlXG}bO~c9O&W_b=IUxrqwdJR9;U7h_KV4whth&?+Z8AnUv-kR1ZB9P zZX+lP*M&owqP3EeDmsl#NuyxloHQ6#%=nDj`Ul#F&Ymvm)0Y!T%f)Mxhnk;gcXPD; zh(L#d@I5uFdV1>>aEuPrSBQ148_Vy}efe7oT9wC$79+#;i;5)07R=ymW!#K@WMZ1l zaI=g{MDcAAUI~Qiu%6_r7pGsbBo8XVTdXvQgI|&-e2-n^*V8*TU#~ zZ1tk#^}-t5l|_#>Ep?>ax7lP=tkO+u z0E${I_Wrd)yp2~A2XN*9mg)fKk?()3xt4U#AFqF{D0cK^OKpsmN5d8BO$%Zn%{=f5 zfdAHNAoOb^I&Vxl)dDs@?EW7DV-gAx{fF;d$IB1T$;imh)$~iDd%6ejb-nJ?(u0-^ zg1{QL$3JXG1k<(2Sqd8`mw3a|L-6nFQH4-rT3>s>euoSYKVp=o9_a;gGY%gVxN~pN z?`dC8j!h||fw+N`DEb6v5?N#q8tNr91fk;&g1u=HX%U=w)P_&BW8g%+am%n{1Dz&n zAQxdv4aBB7nyoxm0R`l33c5qbD*XPZFw!Cp!B85(cF@Kqe^;yh(Zi{=FE+k?us#;7 z?!V{Q?1;(F(r>DJBa}+0Go2D`=ltQF#%toHS-$jW{@7Ol(Z-ut&-EYlO2-VMCJQH` zUrqW6jm0XUr6kgcBOp`1GOHwcTuo1~Vn=G1$Djd3W;8X!1yEGvBBBniK^G4_DCc$c z0$x=t`1V%7-({#Q{_cOtHYP}FaBbk~Zm9~EO z=YGdrZ;#^dBmv2rzoJl=8l9!cP1CE?39 z3qY`b%4R0Jap$e#tV2lwwYYaoZ1_d__*$%R3WPxHhKZi;4eqbONm>%6pPKRNX; z1TH#5$K@g=J27qGHDhquD~sfGPcG=QBZJ-dfrp>K@JvW0puU`abH3@OsK#eulk`kH zk$*uM5<(eDXHg8x@Eq$LU99VY!Nag|7OLd>O!xpS9 z#Jf;?>+Va0&wLFC2cOA`F5O$vhcZTrU*CQO$!5)FvjDTeTbP+S+qNQH0-krOA4 zz(v`x?Bx9RSw1802Rc{nHe&VpNAJIqR?E2hrL(<7bUHta{gmosn3@jNV@?IL!rk9& zf*d_HVo-yo{_%_B0x0R#t9t@I8VYAq0QOc1@)P%acwAK>!C6lE$kTm{?@n7a!#KS0 zLHY}iV`as?S5SyB?(!1U_f|*2UyD%b5{74RU=Qm$Ux%!-M;y4$j2D$92{-o%v03rN zx_v>I64atmh`HJ!1b-~zn8;AtrtLhTuUCxAGL2W2gt+*AYoJ0=P+sd?u@!dzVqxyr zv$0T`o41{JGTN&!Ne3;o*W~BVAP`KMk#e#llw$po_?e>bPRNsl>vmu(n^(?o`;<3e zTW%9KVyiqbbzHBmgJiLILaNqByeXNp4>Hqhxn&%H=8gP*$=R%{v*Lw%kw~&d6ftP2 zHrbo>HQv(JU$zz;)IK%O)$|m1LhsOYzcr(L`Xil$yX0~*i#D_W6UZ>W4`I|xEAYaD z>8(ip$d!V$6C;1mRIZaJ$s|X4;8M8hz3u!`v0Vn&z^u(u7@oCh1+5RFbFsuLP|v&< zDwrn$_Zlk#05b5tHhW!(4g$7HT4ElbTT>i=R`+%d{a-ZkPTxf9fLeRGH>XZIOGiK0 zNK{UjMRDiM9@uLmD07isHoxWV58(e69Cz(Z7vStVE;G2wj?q}9khakd%~rum?6YFX zR&91?duOrGR3JBeF$fASAu88C*RvR?YR?Mqa`Q3P|bmW#qNDz{1Y zbHEomd(6yD)jDr=WM1=DXW{*z$56Gj)c2*p2%BO^6}ZNyX+61Ap0|iq9E5nm6;$19 zda}CLnh`cHi|-!w_6y+5{0DU^-1Kc83e~bPawDm(n+;Q!WppWSvz*DKW*}zJDYRLU zX)Z9lrV%LMGk)eTjFmx`)X4X5dZZ&9OJ}BGQt%EEEfs{gQyj2b9Rz$n^p{uUXALQj zH0?-zn_{9e!{La`GMNhoSFAbd2@LK`{j;LbYX4G{KEM*a_PGbAH2rYS-$0^V~1i?XX{qfslf?=hBp6* zfe8GxyiT3v{uQvVBg@on{GO=hG_HC%k0@n14-?h<&RBPr|u63>*uq*|%*seoYyt$o|4a)8_ z4NAaQccAMLthP|48E1M?EH6{HRui^ypw>0OaxL_{ODp9*zj$lh)x9NhDTI_v7fD z)Xc^);HCpD`>biHzx*pg`V38_D^c6;KEqtya4;`P{8$G|s>UW&OPyz?w-imV9dN6T z-gjDd}P`{e*>*nz<-RH8w3Qc`mRisop~?X)fWmEIxFsX||` z_z33zW9%)v;_8BS-G)GLf=h4+u8q4xAT+LxyGwxJuE8xx1Hl@H#@z|-4ha(6-Ge{7 z-*d(|pU&Q6ub(i-nzO3zs=6=u0*nwSHrI1UlQR3gkka+>KXc-Z6Sq#66N!p3@wK+j z`8MBB_TMZ0pwZw?e3$4|j5r`q^NZgZW%8&a;H7PFtlz54Ui`5{m#TEx^)%8{T*K)m%GAi;HP9M8|GXnI$jW-C#)$`T z{BtU9G2uIQqy@ETGbeXYWK!N)XyKRL53e{NWI5CZwr`bSe4NS3X%q1Kq=g62x#v+< ztD!M`0A6k1KlG`b>~tb50km)>xH?`pnuKIcFKzZA9BnHe`8ZIgaX(%$RqKYDION_m=tfrB?{9@$D5}l>} zc9(}O1!}q`b+ri)!S7xyh1%sP$@z_FaRLr=59Dqq-J;l;q$4b@+yPq;C&9B{vxLq0 zGjB_e=Yb-OP&-8~?I&DWwUfY0(TKDKUq``d zo1G}RFi_YMIIb{+3aCCfAN*^thRIwx$%4FOKkB^sAPWTlydimdIqV_GAJWEiH}%6? zNE{H+J_?N~R}B%Sqe0APO#p<=(RoT+9uf_sUIZ5!?nJ-f)~45bNZW0}g@n`?s@@7Cu#5gY>g2jWT9x>lB z*^(+mBqt}Y{w}o$^`m(pb2t+TkyuO4{py6}ZL_!5dsQNR%o#kl;8ZTzxnaXxA;}R; zx=7DNq<_$c&H$1w^|G+IQ*LA<&1j;r@m9|@v@eA9P?mf^_hG?-_IJWay3+RCrl&5e zjd}GrJcwVsTOQL9L8Wq%|4htJCBBhiV)AJT`$l(^a>&NKEx*t^J8sJrtnL|zUOMh~ ziK*h^!j~@dOOoK5-G&cUi3+-%*y$p2Wp*Q~I9x-|KQ}t`;IEm1<`mcML`2HY-vKU9 zP0@1d^IvxZb*HGk=jkWW`gG>Mp}#kVOC=N@7O!&q^ggr`#w@dDj+92zge6-cBenI< z)M+~llGy2FB^fk=6N=kk-@zfyRU5eOyfW<$2%i=VoUOB&WZkc%zEBS!dtwQ2L7TEJ z#Ixp}5@PyKq8Q8P`Qm=W@=zfZqnZZ4=wzjIP*_b9;rdqI(mlzJaVFf;nGV*-t zD%j2(+T%FctRDO>abFWJEm6;lkJmz>*&&HWoW7nR7c9n~yiif@DennQ0 z?R0C&7n%E>|IcmIh-77anty`c7)El)b_9Bk+k|RwjoVxf$gk-NzXfKUKEF+R?IVH* z-Df00}SZ?lm;M4Pn=0`WDVq+H+=NdR2Q!z+%SxqxgyVn_&v?vhRog1YsrGoBpaOB#kg5MEESAr*C|rt&*txe45@M5 ztdONG;kN)H%hylKpvhyhi3@#L3rGp{z15_W?)ylj?ufau3&|yeZ>yogfOf&fTY03y ze*n%WcibXAN*B^no_1UDDXJ!Y-H*BIB+T@*W#d+5pJuS>S518DtdZG{|KTgnn%BQix8wn`bbBwHOoGjx*| z8RDJjt)l4koPRc~!G$NfYEoa`)+U6KKHlu>8Wy+MH|>im|2B!@0p39J6ol`K`!?Mh zRdUw`_pe#DqZ&e~mSSprSR)o3_4dILXJV{GIcsbSVB5aKSEfVmhf}(e(cSA4Reg{p zec+_F>+sbSVX$>^2?CLNEJUp7Ao#8BA?|DO_v;$wcsbwK5;BhvmNJXS)WKql$ESf+ zO?hC%4IM9RpQ4br^^b014uj9U8q~a2ALNV%j^Ed@e8K$YJK|tS4eTD1C*L$0b|#P1 z$B90FO=r^UZNY*{b$}|#ujauyElBd{USJz zv*P8}fc$LZVco9h$D~i;?rL#b%_Y@(=6K8kyL+@&ys~K-=MC9K4JR(g#JA*()ypLr zM+o2`JA~Mf{HSwQL_%}$E8v}2qFd5cwhmd{&dW3h1`0{uENPj}9jEVd+tj3o8`%c$&o)eDj>LfQILN=Ma(`S)47 zjonbxupdLlX>4rH+HrIMWtOp_s02wa#PHcgLUVyE9!Vf^Re;4^U_Lg_@-hYk58Dqb zk%!PuW~R?+RF25QVp^NI%cbuyos4VX5G11=7WYF^17XQMV`kpfT{L#-y>33T)($WEW4GH1?p=Gs zPwV8{r2AI6R^TOnR^{Bfa2Ip&?H*yqN|sgv z!xamSc;{P(kY29jC`%L2OA^C8O=$UpWvC!yjw#tshUl6dR_pp#?Y`Z*NmCvaRA=+D zY%A?L3CTpik3@cyr5=*9bu8{PwSQuL6n#$j)nZP`g zvX7MvC3#lF*?zbwqxJN4&gDsrz*JW2LqunUT%(RkS*|uHQH!<{WfOLG@4=P+clBdO z3q2|J$gf~(+7j7Ms-M=S8YirNBr(X`$9hrxU1hmhxew?k{AKSYFTI1zMwebzShg^{ zE5kw&oH&tMp*(bo^7Q$G3z>(@34C|qNpkLOYI7g{7^Gcv4|5XNd)@c=!Hx7;pT#d; zvx6v`-j}NhVDmu{Kx(7^x~GO=^hCfQ+_Y*^&)&C0i?P)e=AOc>Z_}nCC24uCYXu|q zXx~#!OM$xJ!t0-dFb)8RpTUlSa}p4kI@h*^DFl*=sS)?MNH(}csus*2k-cWRY2o+)@<{T*$cSp>!!Jysyu1$t6Hfa zi|h0gam)CyRmoQbVV+of^_?Jo+SvAyOxnzE!Ci`)(_aU;rdCJr z0zU`l)`y1kOFj@dETqxJFzNhh2qzW&o-?eU)(`AtM>t+ted<5_E0Z;JG;y9oakUj! zNHbKNCX*VWaNOuqap{df;~Bzu?$|4mQ$lk27B=^2$%m~g=7Ex8L*yzL$&O5hAHMsQ zC~e|~Ud^GeH(lhb7v6@0^Bn1Yx?AKug9(WvgIwAU404>Ay7FFHrbQEgun6PEarD+3 zvaX%Xh|ue{eY#MtZ+t(5>Y8ck1}3uELo^_dPI!$MxzZP8T~&Eq2(w$&uunnPz2677 z40S%H{id;LGQOc?lVl$tZGmLgz}$T(lp}g=dXrdl2KU{lhj2LJTrtxOEaQ6oqYrjC zJWhux6mixTbIa}`XS392_BHx@{Hry&svdD!FYA7&8@dB84e_?@p!FkOI&)vOHB^;E ztQ)H<90h-R21Mk^@OnpSgM#HuGaW;Mg5QS>t^y@=!6Eu2DNPQ{ zZ+Cu-;y0T_rQ$PP9V!hzmvxrC!(CwY5~+h#Rq*0Bs&D=ru9$=UJoA4&t1$PCt?Mqg zVt&0_#NGKZa}%=k6hK&#%&5te`k63A=ap>ibZ1Rab&|?jki}y;Yud(>)_gsKA+NJ8 zc>d3ZWzkuLtDj3avpNbK?SW>^>>*a(MCLi#T z+*7fB*D`R1t#2#9Cfiw%wEnekUtjaQ3Tx4EJ$1fq&A4#kW16(NFA(edrxG5@jlPk( zBr7@vBs~8A9xid>!Fx_5eTUBj@ z?##E@F|UXM_|1E_sf@cKkH!W6@_RH^DJvt~`RvRu>J8?*kktsF9kX0Ejz;RZp2c)y z+0jaQgoKfxV@1;WB)F}*=&|Y8sF^pu7601S91>4A8*~k`2W~+Nf+)w`+N-dVVslRr z|Bj^}RHdJ7S%X!j>_8P+q3a7ontW-JGebi5pSa_-v~4AHznv0v9pc3d=J!g8b%OH@n7ki@W!XQdTCr`HULt^Zp& zu5p~=p7;xUGND@#)1oUHK}n7cUWPv@*1(2`jnJ za)USQrvav_ZWCpnUTsKz6RnJB!zTX~G1-j6-X3-kw>+O|3qAvd8 zR&Y&>s^&Br(xErhHO{7LLO7 z+bB58f~j|}mdH(7K9TAmnn|VG$;j#^TLYxlyVNmtyb869D%NmMC}20^JC(74n&s)* zeR*`T&60+dnk=Mx)I|4xh|V${iu2t3K>?)cyweScnB<7CJdUk2+&^3~Qbq7tc((?= z4_Y^uEIn#wkq(pKyQG0#nN>?*B42`!gMLPmVCG1rR5rGyLHJIW7wq=UU^q|jl!4jD zfj-U0(U*1bScpf32ob@J$W-Q-hJTkG%6gL-6@3>~T^eVWF&Xzy5vG)3OFnw(WuJxJ z9)}juQG0Rcy!6teZIzoY93WCtyEUXjVJ|Mp<{1mBR`Z5@67qM0YHe{0q3Oc7#^$V% z#efp_0nEjXcZBz0X+lC2qSesY8kPF`QECubl(;CzyE-u=zS5n;b`y<7<6EVWTJGqm zZK}dgf zu1=Us8xSfUMS0?=H_M&BNcE{?ZnLQlU=^AN_w<0HZ~r$lcS}@^<#w?wU_Z}Gf2DBy za*08Pdxy1g)&@6Rk~)@uU#8L8!8zS=B}Ma+gJUGuM(SAqI&`k9gUx|j! z92n2HoIQ(E!QPg!JbU!cd;`Nw8wc?U(p9GUmz1+%F_pihv89tFZEvnXOd$vsSr$QL zveU5K^l9|q(d}`mEJPJGyhzk6y^|lqOr!|mU#Dg_b8mIL5(|mTn@C)95@b&*%xJgt zUGP?=nZv7f()Czl0@3Uy3bB~i{BoxLq3FVzWt4S^crX72<2>prRDE=h&92o9v3{!? zq|Nzrrd`9;VlR3+hmHQri2=J%s%IVP1W(%Z#{pS*Vb%oP#g{mE040we65!}7-L?6x zZiQV&McO+gQebWWb!A{0X1G=qr}Mvj!bAk zf$^z1?JQ~Oo43x?MB@DmIIWb`)=%pWoK^27whOHtw)LqV_gvV{JxhDaI36{vFF144 z`>r=E+M^fUHy2S05?2RBW#i@fz_*R_@)XQx2ovs=2a^=-AKJ3M79tkLzxZ1acqHn1 z-f`AXG+U%fTHtLNpc#Iv5N}Gs0me-za7?7W)sC{^(=_H)FKmaX`({`W% zJi(OxtzvIq%8tvmi*G~jP#=2)iNqw;NW}nBFd&4Pakn2t6E7bn>A!_NsWG`4_i`)k z?r~gpFH^EZF`7nk!6waT%eaz*rb1};L~QyxH8bmspl3lHIX$O?`iW#M%>u&)g^vLRj2f$o`GtEZp!pusPcT@R)h+Ry6|!8joHpmlhg$v0n4$uOep zy|C_?@$RMY@Wa%4-N)~m7=(ZJ^geo4^PMyfanfqX{7D)`t*jxR!{NJ1;u*a|3~agJ zWb>V{{x)HLoIsJO>R%Y4G2Np*usAz>#nx+iiO+7AJ^`IwL-8#1`7@qd&r_`d=x>Qt z3+;>x`w#GO!b!Z&*8vs#gf+uHhJmzEEx>&@oLM3ixsRLTN8t8$SM${orf2EBPe4gI zncS)7Co3WrJXda}AJvsyR{PrrVeATj>gE}vHx6xXvnodX(5ya=EE=?VPw>SJkD7I+ zRNTMdwO`_YwD-9=`mv>0 zZOx8A->qfjRLRcW$uWQ+Hxbx-&G0;Jl5xN4$e_H`w8YRng`Ed#N{U(6$?So%32Hu z0#NOYBqUYj9>g9E+mK>{_4t8$Uki+4quw2^`UcN0nnpHdgFaW~-`3;#j81~(o*zm5_3120rB!K-%$;Z*@YaB<|l1hU9W9ro-2Z`MMLXz|g z+dr0bYQcW{n_+M0nv>^SJ*r(ouWPKKqxiXc3M}SjPQQ%x%SrPv`h@5ZGiX(aW%|Cy@jKt9GNoJ^hTQR0qmNiG6e+&$+pVUZc#7!7i&i>`ZKKoFRf^ zjkfpam880%tq@w0cIgAG!~xS6&p*n_UlMe3Q?uXNW$;Z=~@5xS>g7* znjL3tDWXJg_onnKX?RkRe|gBOSd>-W08vRIjdu ziNx@im@l*>>eFlm0;I{}4G}Erb6)tc|J#QlLIl@(foZA|@k)XKg#ybY50a?Yv-CS% zu=Y;EvYrJEpf&00g_$ay829Tz?!w@2k!;@#YTZ+ptKnCUxU$$@E-wir(ahWWNB2mjJTl*5Hb*QqRkjwY0lIMC2d zmQ-s9_qDBqewXG5=H$GFsG-W@-1+3dT=W-jz(ZwrZ^h8DX!FEb-5t=J7uV)hKa5r8 z{jah|YT978p{B&Q7hGMB`~_T4;L0kAJ^OjjD;XRqIMRoNXkRXzR(kkC7Q z!>ufU4D!jRII}8U{@B~Kibe}J{ZnAdc>E3{eSzKyoTs$cqzN@0EnQ)#uf)=t|3DvS zjDzwJN4&%3t{iW-(s32y`+GJ>zIQyK-Lk+;sK%C6!qCEtS$}Z$F~ND@UZ@@FWzmv5 z1?zKN4WNR31dlPDrO`4L1oLY<@es(-Rw3m96@%$ye;3V~&X>#{%s*wT3v5``>kvW& zNct7Z!nuNJaG;3P!E_{cdWnQl8-6Yl@&XF>(e?H1b_ZfuDqhG!?@ z=T{V-%OxG@JFQRL{d1Yfy=)`ju@DwzFKv5$Og{ju;E;s9PoH!DTmi9Q3u+WtmJ~vy z9{UidA+&#Syt9t(BtNLQAw~36FRwHiL-n%PBtyN|>=?fQb46i*M);hezU-Sx?pqzq zemH!<98oeKzT3+uV=;2NDk}3>JB`y3>fbK?aX^QaN+#UP_BA*RJpZ z^(XS@O{{7S&}(^B3|POn`R10joOe~NL|K8J)f_t#E!6%Sg(spaGFsu8uJ_9cP~3Fo zhh~%fH9e|U0?w={N14Dj*zCi31chw#y0xRm#B|p!>yy~1HItKI4!%iggHB>?u1MnY zDDPe%Fc=nY;2p`{$8i)X9v7CSJX0fNitM%Iq~2Ue(KRB6LCblyv?t(f(uZxETb2jL zTnAT*q>KrA89U#SoO_b8M`>K46ww}M2aGr%6!|qpMI}C=Fc$INn^$aIi~f74#GJG^ z|MQT;z#QtrJi0TTP#q~=U*r6@r>V*T_qe6F zB%|oUK*!g~ATVfri4&vZy3myzY*v8fL9E*Di6n{jyOnj$BEk)#eH6ST66S($mmPFm zZtukZmtd@L^j*_;WCUq_J$Z0a3O^T!3g2kwpA$ID$(EyN;cOO`tc#bng+*lK@osUT z;uqE5?{0YWi#$9QMAq{?Go^=TF9XCX41B~#6@7&hg^4@&zSsiyFQ(SbBl7z!c#O6YhNMh?bHw=ptr6=uMWcx8#Wm7+nMayX!qnVF{13&A`X+Szl z8c;GJ(cQCTzAcAKnXW@wwH$e>ww$&@T;cl+tUasQb=fXEqgy_wTM(t=4Y`{v+;WlbHLwg6aeZtnM)kD zR_Xe_sFi%epy9&-_-I51K4c9{EYPQB>U6J-n~p)M(>-s4`bG6PIK_A?szLoXWqpjD zC`4D6lfn_U67m)Ct3@&fbrIS5&$3R{OrzYS#U}9C(xKT25)=V!d?{TL>e7G6x>rL- z($!WkfxZsJOcEhU>@@UIZsvLgN79whihu9<3^{EbE~UgD|Mpicd3Ryt?paEU{K_;W zSJT5gTSvusskf=+iEtsyZba!*?F7XL0yjR)JDR%+sryKBXmMlDerniw5pK{XRNh3F zw5~iB=h-9)L;?UFdh7G4+Hu|s9KBdu>oqRNf~JeUQ5ta29o>fKTi0eS_-yX9b|7>g zfPP-q;50+Bz|qByi~y+*0M~o-Yv4{V_hBYYp?M3b?MJkw}*Pe7^-~hl0h^?GlEaCsQISvnXt+H z55cSJk1F|#99X6HWj~CAshlff-YX~=sa=R#>@g>bOqQsCbMEuguQ{5L4|pBA8^d;$bh{}I^fe5{QxTVVxx}-PKwHdE5>mpGyXV+y)Dty7*{%? zAZ4eXsYo&Q9}7N1#cR#rXuBnbRG4126Am!Z43!$^5b$2?58wp1(WzxVZQ#fdLa557 zXjy1RxOVn;GeTtdv2cs04>)k=g<%j*R&&{fGt`+>+%=}OI$15Ps?I4fWit))^upXr z9^GCcvlIA&l!A}$3-yjCLMwkzP$oj#@m*nHu$Ti==>1XlcWY6nU(~Z_Y905XapZ!x zb(IUkCMK&8K5Tv*o*6#;E82uol4(@58vya!qP{}6nZcGR&BAwp)J_;wydc+CDiB}Y zYHHYdRutZ89i?DWdXRyxg=i;He6PPlBt_+~8UR>u5-}J{xoq{jTN|YikTw<77QS^0 zAVLkq2?t<@!u(%coJ#~6pN0-Q&&^5ucKm`oV^OgzMOa*m&*bGAJ5~nvwMYa+ymtkHySl!dN!($v<%<4Oe{px{{2`qa)nHFxqaEU%2M7K})=W=)hH2Rk z|2FlG$<+jZ8i-=ChEHiKNxt5oY*A&qNIHqZIH!hnVd-(dtZ5uMRNHc@Ye)9Q4auWN z2iyLQj`O`ZEUp4O>^!SMb+`28ygNDR22`ImdE;!Tq{1a3@@R$O1zcagOgeR6U9TP- zdk~emRY|O%;q->cEva)E7U5My1(~W@P$cs3u#wO692|Z){QI-_qNESNIIq?JA%ikg zR!)sW#@R>F8Fx_FSFaXjrOAT*{1wZJ_s6FG1@lU0Lo8O~Uz~$f(O(SDq!!Z}`^dq* z7eJoge%@{+ku10KJ+~^tVf`*UMOLI65lo;Os`{oRs(EEKYT2;+p|ojI>>K#VwdmW;bFB z*=~wYjXu`4vtuM(tE1h|utOm=B;tc@=kyqJQnFveRi88>_gCFW_IBtbDGFws$ z946V6GNh#nM)(>fsVBiQqI3n!EeKN_l z8i#*DVh8=R4`dLx0xBpOJU$KY10BJl>A+g?Fs;L5qb5aU1d9~GuDLk|;g&>7^FYmb z3mtI=3miOTSy+J2@%*;oRLllrZmX_Nm)1!Kn8KUW;q`!9wg7HavaxcFl>R!;42SF z=Q&5UG*sUG!j!OihZcKpO1-{zqiD1K#9ekI3R%o~P9NMYd1_#(elYFN!Qn6kBl&1yT^Ba z=Q^2G$`KB%$}MBUSrtp)3piBX_0U&rlj7TTS2yrCRV+ z;{^)9CWx~BV}`oG2P-#zf?7QaMBy1}_%Ko9V@Pu z^Sq+gz(3|gwBkr3Q?z??^wqsztmAx6|Ns0_QvdTyVVi!dbZCdLh{%MgTFfl0xhQ{m1~@a9w>}t^SkuK?Rea!k;{Hg6 z0f9b{N067wrRbj(laf5WsySO^dfSwBOx@StvuCO3*qg(XZsBYd0Xg^}_)>c7WwH9QZMXfeqfTWqAHHEmDSY>~hIWXPf$PN#=ahV`(dNBdkSo0Ps{Jud*XwwZ>f zp*J*{p>_j9SzQErydJ4nuawhrEusWttbLS_6^1q1b4R-;ZtNog>Bc<(eJ;3Ie*1gH zZkrBUR1Y0HJ?H<_65cmNkh|o`z2yvUADyX_sud`CX4pn*(GI2--9}J5mO1NnBH8Es z`Z^9GVtQdJzi+kJX`?-c z`Dai8pRJB2;R6OoXPg;O?}@aSVJQuxLfWHn8p2Z_C45sLE$YcZxyyG<>C5RJxKPG{ z(5A%sU9>)%g5Z<<4mBn%YVHwy!c=aV_@Y{4xWM{O6Ka)2C#!{i5^trYWyRbYigWgF zh#A{G*Kx4KGut)7_jAqb#~}wNzQL7mebBg!1|gq-jI$5jr(Re6_Z=?f|0wbnyJHV{ zv(3Qu6|$LytXNIiY7w}W47fqqlJ95KMo4N@JG`TtAK8`5$TJ#9HPz06W(mpMK(wz> zQbc_?M256rGg&9?LA{smIP1)XW!JX2!DaVbEUEAd-ux**Q?jM{$a20sqb|gFz5!q5 zVB?9q9Dc>pbb;h?Ap_~(%-mz6z{u2Bq8w@lpSL^2Xd}~YT1@iKxD7HRV{}M>jMaNW zHT29bK?4yS_nD6q)9_Z)K7F(%ee~B4&VXYUwu~Zd@Q{VD$%P&$-M|H z29w;KE#i%-*9BHodS&}PO_PbAxaH>(0fgg7G9EU>WHDLCZewu@(apoUscZN>S55|U z-Nw1&mYH;!nAtWy`>_%@XN`)$G1UX}b(_mXxLI!HX!=QWHo!>-WiteRB){N9Nm``F zSlQ_v+!G=SgOqoy+suIr=tcEr4ah~97et{jMX&_9hstIBn;Bnvtg_PyW6|xtd4;)~ zj*u7a4v*e7w>TqO4AATJIp*a)`p8@)t@UHJ$>H#^k?4U%#^73p){BLh@E2M@Ka&y> zTIg3uL6^1YLi*}7=qX34!jMd*uTX&i)fT>FObRcJ3!-y@Zjj-e{dtS58wtVHnI8F} z@wpXCQzMRqNjTDLkW+&-w&PWFCh8MS%%G=Duv%4S>QhGEXLxNa-?plu>FSwL$lOSU zM9js$t$_HV4fn4waJeZ+RI23;fr81{z#@&>r`|lb{k5PFI`lDa#W;IXk&s$!R+LN%Yik1 zhhy8{szK7VM=Yh%tm&o8BOuKi~(Gq*^#eLEtm`mlaK7*}f;@6xcl;bi1iuJ1mN zum1-S%2v(Hyo;YUGpq+2YD&8jm8)+=hrC&Es-ZJq(}mBPa-lV$8E6DBrYlv z$BZGye1a7HjM&i%6k2AO8$Ihl3JL8pY9H4S13n38a!T2y6FV^zTetXsqGFzSLKykx z?iv4&AyT-#s#j6l55Z~YFkYs36`FWos<6n#G8SLrL!N9MA>xLTDrL@}hY28h5tAtQ zAWJ$opdXylPYA)Xr9nkNl_Uv4GD97PyTEQOy2N*tE^*4+G^kAxldeuJ8qzqu&G;)$ zsn-qjAnlQd~ZF!-Qn1Y$Y35|$t#b~!FTDy zB4C`UY#|uoMm8j~Jf-Y2pI#U=!7mscPL*G?n2%iXkeY7b3Qt*LN>dlffB zxN4dT;Uvn^^-y~;l|6%zzh+E=IJU@XT5y_?HX(y|zX3t%%U;;W`F*b^qE`wLNb&9V zg1T``8A5v>s;i0w<^1BG5@j%;-NHV1jV4mhTr>cCm-k069BGE7E4k9=BrnhEj;??Q z_qTSN>~Ke4Z1f=Nv7EIon@5rUcj5qjm?I3J8t20{N-BU!cSZ9kh12Zh;Pb6gHw6o+`Myg_V@~46#aj3 zKT84{ruwID4~64s4YSg6E_BpiXrpEaBx~Ug+Q_ymz3hcIx8zHe-k|#WG-WPW*@Cv* zBby?LG|3xKL1t9dp-$wrIxCcJ5ss`{7*D*j-l7e_%ZI(XhBGn)wSq4ENE@f4*DiY& z;3A7vcdX5~!Z7uEHd$~XYjl$#XaLvBT2}8_G#|~ha_m$t;(VRf>4d(#>0Qpf37bA) zGea0fz^@rZ)B(S~0MSU!(xG?;qDj89F`d6dCJ#dBF=-a4RH{2T(w%)4%OUrr~|C}qdI;mYeW;swwaLU3H{hIB1z-s|!N*wK@bp@vhbXj&r>!-t4}4L)s84WM@Tjo+n%dpUbEa~ z_>k-lBTI9yK9fRPwpwOD33;Pa7=I@cH~>7UGgof}6jX}MWpoCzzx zJ-0!yHotCZs+**f7kpcT$wW5se%_&J9EQt3_fIRFnt2$5lcZdm^nvxO1 z5sAMyKj--!()v2Q%b4b7aU;?D=?BI@au<wSOhfJM zG5!^ashbS%iI*@iFo=RwtNT^9+}eiCb3AqN6C7xLF^2Y97tmn9&)WvFvVlC51r&;5 zW1HDszC+~on1ya1p4I*#)(G}=eb5fdn?3v8s8go-;oW|>VjQIc3nnFF8?!>E7Iofj z*tbxxE0>HJ{i7U#tm&@-FWYrh!dyY!Ovq*!0WTi<5*dX%^<^Tl0S>oZ>2jK%HaQ;& zEtX2){Ed~G{IaZlrxG;D>iYgRh*0#VISw3+_i5sx%G@T1YE1qfIwzcnn(Q<$f9-8E zYwRLHGa82;WtG>f1L=9{xjXxoq@D58@~09L1a%w)KQo;7&CH4qw@VD3iQ_XL%Dq02ZVpy<^h@%!Go6WLKsUY~2fZ3r+fCAyHQ0svDy(y2-&79n>@#s8m?mwkEm{5t_&?r; zo~>t}SJLvizCquM9}Z|Kh)vk*M^PFzI9wC{i6V$z)l2^Y7RHu-&gsVr=QAv_dc#C6 zI1Pp;41Xa;oPr(6(pB&@p)NLFMlTyhXK5uxn&H$Z$IGM_{!&*)*5 z+7wa$eu=U_k-``b{_7{XkFN|!K}8r}<=35VJwLi*q)l}Y?55Q*abJ~5oM8YcS|eW1 znqh%~r4(gc%c695F#N_b+CGMzx25;4I$talqGa@ z@1rnO6qHWG2Dz^gh&E{RN*Z>iXUy$#ICH1sgFHgF>r~otQv9z{doiOdSNzd!d=fJX z3sV$f?v*Cd;W-G}c5eQ=R(e;O=s{^G_y_QI-^i5z3aeHun)=Nu0|;9sdN$}5`ce0f zz0)g$r*RO*D>5ZyJ`;AAv7&dcBUBpM{2#!gom$59d(gyE^;>+xgoW{-rEc>CU5eHy zFX;<)%ui`}mONG0^EQOw-`Z>UYqMTxLSte>> zRT;dd3$h#}Qo|wk!PmS-C2}3eW1j(>!^;KUlU`!{RFL8Jy{w&Cv2-Irc@ZG|A0V(2 zmrBRf!&-ESaVfcX7wvb{=<$R&5E`)YHQR?P)b4emQE2<+R-#DQpXKNJ&cCetzM2tFMqx%EU4uOct?OKQl83)1t9}>9U{$$TVjMd5iC$e87`hT? zU|gynFqNmakl&7vSG)bnG^9k7tGF04D1u7u+Mw;RO-ooZ7W8f^MhTUs54H*PvEU-P zeqR12ec}S?;Z6%n3G}-kmn5tn=Tx|hU9cgE$Q(FW9EL7!=m}>6TCA_0{{s-1=#bqd za(9+F$9F^uERi0($G5r^e35?e&44Zet_Me+6*m(Cjv->9vH$pPp^rHej# zkcq(c&)xu3vBo&Ky0v@=hyl06I(U41JbXD01Gozc#0dqhe^%p(_o->@#T%~3)RK8lI-jL%8E^X$>9V+5H4mGgQqzEZ zB^8aD&`)rTg)HbfeGXTA{=w!dd$Ci|Iqp+_e^uS zzoU>V@y3Wc=~4yn%3>H*{#sGM7RpZL z$}#X-ofA_xz)x)Hh1O>_^NR}uzWd+E7#iN68LK;?FKXa@b)si_g#MtjMY@y~ggtqrzL1H8)VhkML}lAO&3mcU6E4ySXQK0Y!q*_%9!6`z%h@U9Rf$(3 zro(P_;$o3M@f=JyNIiUp?Y~n~^BmX(9^iY@TO8lUD9RoNH3%bDk?L)<_gd_UH|pRE z%$|0p7Y?!gMH5jkSdKc94tj*@eU!*OxO#~MXoR4Cmcrz%k$Vpu!2Cv1*gK3%dA{+z zcx5n(l}e&?Y1}FUNsiU=dq9d(ce4BpH!ob0Z8^h4ngn@J{?&7=7BuTtRj1g$an=zR zBGF_z{sJcrseK~G*?zY;zaYa$<|Xc-#LLH(F#829b^H2QO zwsRf-<7aQEcmLKk80I$dZ9Q^~Nh=(7r5Z+P#_RPvzNKKHlJB~wJUV_Gp2t=>ME0u5 z3^J!5>(Lx-YMe7w#zRTsTSLQOq^94W#AFCw#Oy%Ms8S!r2Zsd4(B=Ggnv<|?#w7+> zRiIv zz({Ng%piL6zbTL2qqxl|kEEHyQ8@Nze1JsNANWTT;zp7^aU(SzKh^Gz(RxkrMBpAb zCR-=86~*U7;Qin4s8)j+sl!d)`~_o!@?L$Hgdt&Q4ddZU$g?xBW^v9on+>Ul1PNc?r2UU0)ELVMggmtmJ?B$%cIQEPx_iVji zb`4+pf5M?YOih-w{`h~wA!;|9wr)UY=&Ij%W4=L6T9>jDuKlDhyhgEEYU(%5*B)eq z^f=;pqvyrkkB>cc6+|BJD=3TuOHqIPjFQrz7G z#obDg0>Le~yF<}n#oe6(#ogWAtyplk;>DeJ=llO_AMbsX^W@4ivu0-9OTUCD%IU+E zIXhtUE{+nrY<|Q{izKpw>4XSI90xk~AOCPWzP>ML{(OhRtz&YeI_3gl_DmU-5s0i) z_8ccj$H26Sy+HcpEBVn(QC1eDC^6&v^sU~yDpTJyVxJ6d@J)&jb1rUVi+B$~>Aeby z#_#$!?CZPh`pJ!;=_MMiLcKbPn5`G5{*clI@r^Gp$1`4+74;W6Rx@bYH z0KLM~SeDR$;lTD*&_!>as_u|hybzPK2-c&w-Zm^GiSLa-(?E$VZhyeTeg&i% z@T?SJvz!0HlTRGI0aQYOp{Bl$d507w(Db`&PO;`RTICo8Gs!*sSQRM^7E1c4(SvLa z>@OkoeP=SE{Ra8E=S8D^_k}702<|#DNMBgou%>gtfCzmjD%0mfVI;tZxR%~e-SdW> zDpOwKFzTcF%=`MW<_9HrE_6O^?2kJm4br9fzc=k2e8*M+FZ&gxcO|~`q$K07M7mIl zsF{7yqyJn-2=y{*gTXg#>&(l7-g?=t<*KKp0_c?KZWK{T!};{OPspPp-ST58$yvr&F0AVl??))uWa z5KNBA;u(#Re=z)$yPJ!VlBUq)^l7boG~kHfg%{W7WD3;me3csf*iKrR1M^h4id*9H z&+Dpmh}1pR(xRMeR@SCMj%02clKq~>Z^T#=Njqi)*RpczHIm2Sj)=nC>2qs5*RC*9##)V#pXpE>*9qx>8j0dRL`Dq8_g$P!(m_ZwjlWY9Fs-S z0?1vBd7xM%u)C6%#~urOU@N`IuZSffrh1dk(@*IW>aEO}=IM z#MR=L-rhCqH;)v@ku-f>E=xhC_pTB6m`Cgd`g5Pjf`d zzN5zd{#^e;QPTM2&i@NVX&LsTVPqQ zQ3V~bd^ROW-9X)VzD-jtA|qmC)91dkTxL4itGkP(GhncOdawd6oxo&vSqk~rAwx87 z7Y7qMPq0dx&lCuZ&cn=z}W*Rg&z?Ia4VzPq*F%pL|d&+Gf?hSkv}0f9o9eJ5zl; z0qrWg9yxJXCz&AEJxcxXh2h;Jtoe#+$>;(u%?#an-VS=e7ZZ2PgxO|*6_FJ@T3XHoa~7>73g zAB^SUYs7JUj_7;q{Phcf@AFimwrIDaz`d(LMXin!CjxVb2O)*LfA5A0Y2!ju=fb`J zKE$C~_mZOH^!FlxsIG7HDgH*OCy|iNonY$^F3hRds!DWEOL6dSfG336X)T%hZiMZMJ}RGJVzLk2jaXneVU24V*q6FdUprX5Iu zFAef1n}TtZ8)Vv33*EekHkg|e84Gz4R@?h*GlOgj>)uk<& zJnTGpK7@&5<|lgKSd(3Fo3`Xap)^Gc-7g3XNU;BOR>6&&VrLRtW`CwgH>9EGvk4yi zZI@qYyHP1@e4uillKJ)nZuHO@1pN4F{4birl_yb|^Fc8|)349_in(xG*Y(Qk9H zBeCa-;T+P7;f#+D68=~4oBsqZTFYoBL!5W9bV!fE3TRtIFHbi~_BZAm~$?o}1hR#MM z>!Ti(Du{dNrM9`^ipCpJU?9>Nk_wLLbp?15&X60_)# zxly|i^g9Lv`kWAPWW{qFNI#4Y#X8kaHic%a;^Vjp(!;u|TQ>V$B-uRquY8dSjRO9z zgM0F3j|~`PS(8PxTn1+j*xoRk-&i>tCA!J-a2Fwmxi#PU}Y|o}C-2|Lb zNlr!nag`sJThkr?|$7svzndXtBu3`pe_S54u@BDLn`q*W|Fied?u5aWOH zaTZF}sJ~w2wX%Dd4MQXSG2GG&gs+)c=!%WH@=B}onv&rLu2X#mJSfsOEc`+wBpwN= zuS-gnW%J%6GHuRTYM7SdzO!xkNZK3q zNPH@rrl=_AY+TGGS6pzp&yi&l2Iij4-&87TxM7bkyk6_79M^iauRl$SOZ9rX1iVN; zxL;6S{}k5^&=s_bbTWSwekBO7I=<-6KEJ8~KCVys7#kJC?IXs-a1#v6xK|X1wy3v5 zP5s~9`w`DAYSyY|ZEUsz>_bIujsL=9bSRNwHQJ-HrJh}U`!YvEI>^)ND1+?BC6#dc(NL|(F0SX%f3Gg%Pmq?p(uPd zMh;)Y#kRGZMnKBB~SxP)Mphc&(9 z^>%@f4T*~o>#;5mu>5>+CU117JA(F1<4G}x^ebSE1^gw#ulhzhxPCC{=o#S_^T#Cl z0l4zsXVLy6VSNZ$Lt~Yte*54R_~$bUoV_>CfZs59@cm%awh_R!tyVo$z94sB(*N>R zKzn}3{QW+QI;1GQNxU&M!C23kPWu&Pf6LJX?|-?g-bQatIp@uJFeF2+VBQ_G>=zc( z%c`F{Yl}Ii@HvGMAo*}%68rF!G$mX7OLfZVBT+OXr?hzcKNz6^o#*}w#Mrnr@9yYc zuDAJKoAcRfX3^ukLOSvJ%=#d$j2a-h+w6!ivL{uq?&T^q1lgtkkebI!cLCs)wrixD z>4#x$CKu1}eK4trIdpJ@!iUA}&8!F+{F`C8qkRdxc7uCqT>OTZ!8LZz?nSCbnA<5f z;qT&qFjc0k>LDaVAKsiURwtuj=I9T8`Jb!+oqkJ|r-AQ`=@cTA4Zk|L)12yuwt2Y9 zSr(`kQ;lQD^O_ihlOIN{TB{#3<8}J{+Y^g;^mUtGQX_8bw`Ocv^EG717cTa8WAX-y%)#aW-Y{hY%U4(S{(^hi9*>H#F~vh zQf5O62T2S^N(us2$2`Y4F)1?CBQp1@)J8`1s1)MsW1Y^PQ)0)ckE$>^1{4tqu+slEhrFe}x1B5a z_WI!&(c+|-3Ld0NZ2)zJ0`)EB0(QSqqiT!b>&*(q)Y#T_cbs*nnlxuxDdk6xoTPHu zCF*CR=A>;~sQYpQ7~=b-wT;yzxXGL9d0yEd3}%03&^H)RnN%~Ny=#Qv0WlINXXN|; zvNF{v^YRN*`;BkgvC-o)gAG!?dw(ob6$HSHPg+$8ljM?-+!v7GUKSx^EOSu zF6i!$@frgh2>(bt)56VgV%r^oiNVdo7Yx(Fb%>Lq1CxC)D3%CIr-KTt?!EWMCJk*} zmSr6hBqtV>CaFfd*llGZKVb>NOL~MrCkB^bh2oDTfBIJ^a|bR=$~ng!7k zQ5)t1$8+3b55-N^ix}C`VOb}& zvmm=Wr?O7eH0_-()x@SVvQw&O)+)9|rr;&;Ce9HPp~RaXx(s_TB@C-xn?AE5d?zNS zH5Nt$j5g|~b5c(xp|i!~Z8Ptj{Cg;Q>BL}@i5i%^gXDB`cBCt}n!Bzv-d1@oXvvGdPE}x? zd3UXUl^=)^nONaI7~W}BY36*@k>beb$j_`Ytz9;{b3&UzLc45F5=7`BF}eprW|X~s z`!H-O`iRyUNM-}$_E6+a7%_G2?)nYs*Bn~~v(D14mF#-hZG6lASKC^x6fmz23Op6+ zxRAR5gf2~n6ElUc9xkxlj(S-0G&@z)Oy(?y?Kg$e`1+B{ z?HvbVIf$cSSr5P<=hq=kL&tJNe^CvrzilfG`?X>EnYuf<4{=1^au&U-B*ArF#{m&L#KB<9Ix^qo0an&!Lx2>~Ihi5>_JIgJiwXjQO`B!dM&xWue9e9HV zTWRkL=Jr_&w#KuH1I~$trO>j8`@0$}`siU>|6v!__%R_Z4WHjAJ6~}R2=;ssb!A6a zJ*sal(%8CQetnc0YnlEeDKE>Y!tmhz{*=%F%M4;ORiNXY7zA)lt#6xISNYg%idyI@ z({W-khmZBw1pg8qQ~Za~-naJ_da(jEX++y@RcUYD`SIXkFMvwVXvZHAP0|}+GPj#( zrB4EjKv|D4XmcJ6LiSVDc3)Tyu#L-mqFLLLsha+r@su0)8B4{}GNB2rH9kMzOXVzd zfN3*+QyH!_uWDE@Y!O)zpzbEmW^=ALR5Us@G~7Qy@1o;HE}*B7voq@i5kJ;#bd;uOefu!5MHO5WoZ^xSB7SLx_DH zz-?@H!=wHw5cF@%xowr_PnEPK(uj27dg=mvLQazwp$4aT!~G?g8tTSKN>eA3Ym;lz zH_xXnn&hHPOgDC;F~)tUCMT^wbU1dxYjB0wSc}cRT?CXtV3( z@8l&4ZX9#+gGhAu8>PGl#cWqk3B_9r;)0pCCk6sr{G{deD|NBHs`|9dU0DT>62+^? z8hlyzE4KaVm#`Ga?!2L=Fo(R%+C*xI{ZT{vrxN=vDRgf(C=+HGRlEyI7s(`}W)V2T zEDdMzD54UQ$Z)_BuFOW{+6+*T5Xv~V0fn~-g=74vU(4;8-0a`FCxsr6+gj5?JJDDn z(Fc8}@Bw2^99c?wy7d-G*6riml4eh=%vKK=k4=YQ!fkL>p)yNDl2D7`$2>HXXCZ*J zSaU5+H=F5hqJDj}T8wg@ZJ8pip5(H4Fj3#PaV>lGZmfYONHX1z`nXr)OKZ4TF#rhV zU&jUNnWI1ep}bV)e(z7RwMF#H2hR#hfVR|=W= zh*yHxe1Q(Q^-?aNKy&0%gW@Rnak=UeQTg2k9|!yC@KHhC)f>3hj}=fst_S;E&xk{y zyYCtAlUVM=!5V8jS+cDA(X3-*!vbA0QE}dgy-wzvc#1=l4`xn-^{G8cYL}VzIDY8* z$o#?K1;mT=h8}maj#x7q&XQV7q8S_@Ps+&Tt^is%RXNvThsVsYI8d8mu}jSZ6rYWo~a~ zkJ?A_a533|dficdPvp>&2VFF!EjeEXgsJr$(02TZ4n#@GJ7?1_yrJpY);YvW|$`e0#&~7M}Xh&7;CQb(UbWYf3=*x>N%iw|* zsYg?f|17c9j<`yRW{pJ=vz+gA(LZR8_h6n{TDJh@T;?A>_&SwX8M^leDnU0lg`i>n znX$N1ENiFAEKQw4j)FPe>ejhPH@G8~|6qzpOM~eJj1Ct=rqgyGc3f934S$<`TS~0< zUWQAA(H#ffvOJ14zF*+Y5^WU|H-Q)@QXJf5-ruj4O4=bamOOU=cG3l%<|C)?0f zlPI*HbCH96;^j8?WV8;MB~VxSiaA?UrtswQ7*|6FhL(%c8=QV!s zvG1hWO%I-p{>>Yn+d41AgeOuN6K35p)Afd%t~diT|3^^EyAMvTOd2%nWT;tHKm|4Q zB+f`8Ep$HB*?+R_`!_anxxm_3wd}nd4)eo028Sbhi73<2tuIdEU!b+T{)Nv8$4}N1 zuk0*t!r;8##ayb`IV;t0=RNcJRqkbek{4svzDP1*O19b{U_Khed01|%N_9#W-}qHu zr1CmC>Sf^1h}M*=)Wh2|?{A6o4se?AuUHoXwrfqlj(rrLyWGFu5Y8{1#^y1_dXIZ2 z56=|CL7xZa52wsde$lh}{KyArXD1Xq?P2ZArLR`7F{GB(I_Wx!ONS2-j7Xo^qS+jG z7eWZ>IAvx*>$2tj_Y{9uJ4_khq^}yuTcmIdpM!mm_F=vmQUzb#XIiQC)rPCw0y7ZvE$P%?n z?aS%jyo#DZHvXwb7ZwNQLZ#rlFynCfgySpwae0K!2;f2-#n-?o5K89dS~ck~D`oST z#wDt5^qr}_i;LK}+Ozy_#+7rylw9^fiQpJF4UfENN~7il%UotF@J0a!x!6!~insTB z&-iHa?g6S$-uTF(a5X87EGd=@v5 zIAc`pX`gT!1iFCU)ZsFQUbMd{IJZ^<*)R?Lm_%YL!@IwmVFgF%H-Scl8x;6lgIdP{Yh;Ar$$XI81}3~Di}|sf1xy{{76B$ZI|440umZm59u>Z1?N0_ z_D048@Tm#>#35&_(#epQWB!JG0kA&dO*_b?P##QTU@|QF!xn!oSnVuyPp0JR?`osv%T^snBRQeD!tCR*>Bx4LRkXtiEVdmm4j8 zdr@W=0XbPT+dDO{ojWg2#YBCVO?Aq2j`g4H&3fbu1=+&tP0jR~iM9ScuSi!=J9%i4 zI&eU7YQSn@j<+8%9Z{l4cChA6->$&Tov8F9afwBHpz9de8rwO~yL7ASm*q}-w^q-x zV18XtcJA2hbnYmZVs^|c)cg+y`U|p%36&B>*^0zBCY=kcU0wd94;|2M_ww63EQ`Q0 zJDPf#iC4xBUAUVvKMSGmcpi@kS0q}`PM!r64legBEZyE7LtuPT(g|{U?1=TRr6Fg9P8exgL@8y)Ue0D6%NXg}jP_DGwz=<@0zCE+hbsKeCBQlZm{+ zj~=BLiLZcn;-lv5jC?!YW$xL{0|9p!EW_^u{?)Wd!7XAL8jb5!qmZ#_!L7>QrXQFG5QtPoR%Z$Xp$ zG@^wImiTZks%*^M!sQ!2v+;Lj`W$EHOYgxXp;uPB2T9*#WDYrj4Sx>5t$QT&?|U)7 zT3?zb8_1IrDLDWDl^O%du0}t0as?usVvL=}*NN7*&aT%MdW#C_>1%}ajC$*6%a#<< zau&nHn*-hNpvW5N9Tkm#bXI>lx0}Q&1u_#bo*lD1-ORG5VHrt@?7~#IXPapXKf|^q zv~vArN#>nFFr1>GP`0`}Z7h*tIP6@S6<0Ajg?zt7q_fv-Qy3$Hx8YB#9bh}YGQQ%? z&&a9p$n@L`p!a6~+C9>=o?tO;7x5RV2b1XLhLBj* zmpOzL)_DBc*>k5(Bmad}zgqQV(aQ@zM8Xq^r#Um`2=k1x=_b57squc;OR@1d80k)7 zUY5vc$p`-ZP04x(C9JvYFb8IBSb(psJ z{ogQ~9~Cuf`=#gk0$^{6Ri zrFTQVyH1j2wS(m81~jrV6NGSwn0A|9YmaPPu9Ni4m+AD2J&)u_8hlieE(ZHC}o zS||@Dw2yxoM*zqbWN&S-q=2(gi^16p?0#u66%|f#qdyn@67Bfeq(8Xb@3AdJjV5rs zVQ&Xk+A>RIz4h3r*s`N~y|<#t-~GJfN&0e28$T6p^Vpa<)8U>}4F*nAMOm0N)Ak+2 zK*!Au(p~B14ng2fnc|mPAe&P0^LUJqOny?RA)>{|p8XDQ=di!1n&Xff`<41J3rWz( z3^o2R9xyrj$#*%xh7F+H-LU@8XW~Tv->~*|2)X&sj5<8b2WT!#Zdm1_2*)vN*z zhT7a;pR7*gV`) z*zbE=Kvh^{ckMRw{;E}8KfH!g_0(dsoKf2SF0x)Ebs9Tw+0Qn88k`R@hZCHa67tNAK0lwmTmVtYVp<5rl3zk;6IqpTcYag zFO&4dH}GX?LuE~S8m6+3`VOP6|9(21e4Y`~sl9XeH_V=2ZO4hgQSAcvJ;El9G}4C} zV(59}xkmIE6TF5=xD3~VE&+a8oJ)6IrilZ`ojEE4E|#KK#dD0g9dqjUBouugEu5y({f6S7CDw#{u7M4eYW5KIu>N z1rUc1Au68V>cy$(5s zVU^$j<8FkmSWM%WbLjx~ezu>)Od%3sszv|a8d^*fPlR!mV zos|yhW?eMpkdz1`!Mbo=$vu~y^^W)t1}9nTbhJO$m@G{XrJ*5=H)!F(G_lRNT?yUq zIrw}fuhC$SI;j%*OWToxLQQXVGZCi&<2kjo)$MW|v}`F=6XFRZGU8 zz5+A>&s7I^-m!<92o+^&RZ6r<&kc{Y3Z>a1ObPA&iyr8{w~jYg-t7)qQ?w$hXTl+( zcJsQNe1cl!>FAP6v~^$0_XUifh`1C$vd<(^&mUd07fOZ6I(i?Zn#B0VIPV?no;Pl4 zIF8@|j~XF{9tXTbtrFJfUaQ~}E1F`8QD**gb$)0tn*j(GSTvi7A`A=WoeH18^okbR<)g8*H1W*NaybGecCmV=8{w_%(CYsC!|v_qPpV5u#`*-nGuPY_g% zmQKu&myDE7)5|KWbnYVrL22Itgf+x((y>l6v-CqI+jpNZz4^^8ATk!-{|SZuCr_h-Vl}n5 zp@b)IJ_z}n!rGVXqu=g>o%Vcb!vvM>sYHV7HkV9a8eR6XB?K!zqg?#D<>;3085E6g zEp29xn(57~!3TFI4_O4(dT79tJ2c0+h;7hw*tkNjfCNJFYMYbDd({Kp7A@`;0*D2`HFpf>`0$=v*~fW#I^dYz zBJ#0C`;wNinA=6p0UdMSoa4K}-IM@JJnK@=o`BU>{NMAhORZh#J``1pnI3fl1QV)z z>C!IQw8_66RWjRIDG~9h_IGr_9#xxRL+`rHhSM_TeTP^%3wS2(uGl*=BDqvCYlN^F zZKeb!xOus{<0g$N6~JQ5V55zT~8WTn2esvpo^_U#L=-VS~2AAwD9aR ze!78_qLlRUR5F`PnL4PFFUhcH z0lj^tjut6pg26$c;fyh(_+5n#25N~K!B<>c3|WLwH&QXfm}I&+4Nb%{SQ5B+|LqoB z7Cpm=40V{FA1(4B=rvR5Vq@xK>budV>3k?*lByh%!MZ@BoBE|zNuU>a|1#~wGVLH1 z8#zy8dPHtu$2V;|5C!Y(g@-*YZ$GwWDK~?Za}x2R=B3!jG(*c znEH2Xs8enATn$`wjM)KTaO@ zojA%mBDskRibtP^^kPS(G-1i!RQ#6=FG63Bsf0;1M+X5Av@S)VEG?`P03Y$^16OYX zqzaoa3lnCz)@wp7)wI{i1jev&mAa<&+;D@ZZ(ljCa%@|=0q&&e=v(&eU-=RY<;OHNxc^IAr&w0DWA_nc$?;EgRaI!v&eEi{3NVCNJqtURm&-buu$)>E) zXQOYz^=t|g`wt;1EJ)u#WYneGMOT)-P&*xt01Coq42*69>W((neT~C%tGb!Lz3`XvWZ7 z)n7`?bPKzoi73qTGRHBs;}q{c(NNW|?l>80u&oiK&Je7HLkSVMktAxwkBEKy4`vso zvdURzFr5aDoVb17#iNWu%m=j#%*MuOl)*73_!_#?*IbEj;@y+Hc!en+N6FR54oN+r zW4uBvhzJhmUJ>U3IT0LM4{GrjRTg2BIrumlh!qLC%k;U%L=fh1h@kWiKcR!-K2s>-T%l<)J? zzkA317>9f3FJ0@$!rI>V4mO(1gzxq_sv4Fb$J#BT)ob_v!Dv4Te;E3)mGKz6bE zH;g$o@lZz{cBp5+R;5Mp2TP!UxZe^qZaUI0Lupr@fR>=jI?j9SZC0VvX0~+^)dgV; zd5D!1iLPAd%p5#$5dex{Yk5O%SW;C<@V3+IwQH32`66^#*w<@2Of0U7d1dqhEU6ZL z`rOrO2KHzZUDCze$!1=deE5Z40nwd=FF14cp#ODrs!P!ZLP!sH@T=p;r}b;8x8v;5 zNr*bz&u-8VT^2}Vvsy^_V<0`bl`=MT^H;yd_B~cM@zw=sZr}33$rK=pf zG3`4S5Q>Nm!Uq!k@*OB>dtyGT|l=3G&MxlYnkb0}rg z&&lEOZR?|2uRgLW#)kSElk-<*&!blVE?nO9{iRf|!z?DpK|Dj6Wf2Z~I_eNVn`y!@ zcl+cFnT>HvrFRKmO{Qm5Tj|!4P7jB3eJpZJc9?5naCXjO|hr?>DC`Uqi~b1 z+};uKy2=_n%t9IZ^9}++%Qf$LjHIqi+v8>JXqs=M5SpIy+@T|vb}~VD#)qV7v{Mz$ zBJ8f=$P#>vZk z4c+2;hkO9epins!BAAiac4X70A&@*us4-DgdV(hb6WaJ$e|Q8sJpo^P?#y@-HS)pa8fnEeIN~VXHOAfw<&>Lx z@j>G0zir7y)0G*cjrF_xFvTlx&8$l&m zAu!}uc0Y#h7O*Po>4wClD|TcVbn-d!QB?Z1Eoiyw?I1J|4{;4ek0#mJcjXf_p7p#6 z)#J5a74M^rgzhVDuiqMi!QGDzYyKkH-Y<-(MfG%(2iEmuR5F@r6{jjcafnSyW;%B9 z@b(CfM7#k~-Wi*3nBH*vTu%!Vmjy%i65IWDk8adVz|SbBbzQ5LT2wl^55;>6XXIt~ z3>jeju<;cQ)y7S|DeMB~0Rjj*25%f^2n_+;%h_yf%kxmccwzO;n#IuFh(dG6Dr>5O zJwN|>#Js8LY!T9%$FYqu+}rPnp7ZLZlfxhW7|%ib>7-b?;c}V~VxK4D>aKyxZy4XB z(b=XqIETEeEeS=Iy6nzU`Tv-o2$fgza9yzIpf0nC!yzm-J5WO6zv{T?pVz4d!s45U za!&hGqnO3hQOogGY4K-fUO)ScD%CBVo1CN&vqu63*aPR;+NBw!!$JrU5o^^(n?bRU zQ5VO5$4*80OAIDV>RsgVcT zQK1$PmFisKOgcsA?4n2#QLmXq7F5)*a!jAePYvxfThgt>RBMwu!{gBtYXjC}LrGPR zHT!gBByQQk5Mp$+sX^AH`o951xHgdTqR3I(gPjR?XOg$CwkpRDp}3sBnp^A5x46qq zBOkSq^B~tF3bbYW`*IBx^gysIEnAmGBC=+edQQ~s)P-TC)5$rX$v3kbuUi}|by2ef zB+7rs$CT;4xJQg$*S8T7&~E{UqF%>9uaso4Fr!rxknlHG@abT)Q3cvwu{&QHE`U6fe%n+B!*BS|K+ z*D|3HJE3*ix;w%n;tvWefemrNb3=r^klP-)H3Dj@a?o+UM1KZKbIG(y;QCZm>~*g) zc%a$;OZDa%Su(E#u2p*S-8p>Co}!H#3=tjb@nA;Z@bz5^{qS4OhaL%>5)%zIYb|wS(kZS@*yL}bnTrnpuEy{4 zUEVXQwP^*iBuUUJ2{>03{HEkw6-M|8MK$_g%ey8at4g`+TCyGw`A7&&BG`)@45?Gw zaV1Nb1tD&##T0m?9~)(m_X$0hPq6K8#om>a+IX7)DQu9lF#IanxkkkacV|_`(OMs` zjRybRKKYJ_Q-@G_zZW&qcBGJbf8h-H$@+8|;*ZXH+!6J>!dV)FeBI%OtIyx8ohyCA z_88kThsS@NWT=c@*4nS(*UUxo*zyrFy}h$=C&*lI zwBUHs`yAIo%PJRyK)x#VTd9v|>=#wrw6R&=+=l>d{Jxf02!{Y3dh+B!JbF>ob^E6P z`qnKV!dDa-^`=2w%`}juMK&ZQTgrsjgDxW`HI+0NaiWr!C4@SV4`IT}!Zkbt3G<%k znPTBi_5|t2LSBWsVXw^%>r(&n@RkSpXcL%S*|X;Yth{w_^1?GCN*45E`ecKE8#Q&n z6~l?mS2BO}Q_VtuMDjP3Rn0)D>g!^qo(oIXuYd6k6feFeP86)$*1BY^6mj0pj%`z( zTN!Uqfe3QJ)w4E_{@ztG`4+y;?zW(N)p2frUg?C`K+gm-=@gPvlX`Wh3Im zCpCxOs2k_mo4b+#CG)+>8O?hX2E58l%rUdk$o$t5mI952t54Oszxwq2Ps|`(+l6n*m1eGoGlcw+X^tG~ z9Q?R)-)00DGG&yvt;%87_h6;pD|J& zLS+$kXuZ>kiFNUPaSDNxGM;bU$BsIXjbwQD+SV90fov30{*>oT#=$1O+bEAp1>n$P z;k*>}+8TNPbN=3&-kl*E)+N@YW*BaD88u4dhMCPNW(Bi(bd!iv~@HR0@$374vH zwTX#R)$|+G`S(%v(Er`yrAx}G%jx9W`W)4bI~sf9y<&nn)Q2=VENMnM^ykzlP8GqI$uE*s@9@3(GPX-OFp>pcUDVV!oM zn;`-YhRZ=HCqr{Y>|;*hv(Jcs+s>!(n6?NhC(A_Ju-%{Iq4dz|gNvMDV3%dM%vd>9hE%H6JG!q^W)gJ2@yP%+%d?qO^NyQ^_1Y6F)*1EySqFzY*< z_`GQCK5a^sa+#qzpE^(tjVb0ZP)=v2YJFt$KN1v6HcFBKXm=BG8nNlTJ6~;|J_4*I zfq04NqU!?-m$QabU-<6y#S(^aIi3g_?bS+EC2G1E3JzEuGu=bUiXy6X;^S@NvZjV! z+^{lK#>}seJ7!9J?lRrtkA$HT^4;j!=l`uendEwIlf zy{)7{Qw{D_kz`s`ynawSX1}kB3+d=_SCW-6gaNW9(pRtBi{UFA^JSAw&%iR>oHCNo zg@E|`Ccz^pu-?Yd*U0Ajj`A+3=9hJcoKNn-gv$6cT5%%Z*q=*UD)Us1NsK0Z`-V5! zY(r|ZyO$Dp`F+&%No)kCKspVc&wD3F!ioYGOCa7ea_=~wp*j^-(uQH?FUD?v2?^6j z(~$NU|0W>~<70mDRX4_C&@T`=LRdkDwR73Bfkw&lYn+nv9C5>^?Nr3$RT!0AASt!2 zYXCCO9pacCSrc^(E5SWhP+?ya-$%)PK7kQWKq5^ApM^Rgc1AN%IX*k2^P6VgAyiDv zKSQ-H(PNQQ+rmvt#$twaEQ%)1Z#O|YvTEq#u~9OC}_WcHsfP={rikOv+ z+1tK>wx+n8zZj)!=K+n~l{lVa8t(H^>K);wVtS-hIqKuu2d!TjV5fE7j%{9Wm*Y>; z3FqUT^@$a5^zL9ATo@)va*sU2o2`k(a1R2b{4 zFAYzum*|+t9dE+?pGp^b@@O!0u*4-u=Ek6Sh-LUcliQH$XK|r5C~4qSxdP=!JBk7n zg-u)W*e-UNQaS@=2hxa|ftFtUVuYT3+@Y0@AROGcQ>5RWjqy;U)ytc?1LY*TSwp=B zBA00k>=yMPFt#HfT)ABR2sK$$1$-R=7XSf)xT=TOBO^{_6u5FW^rCN?lPB2J^AG!_>znd}$@gl#*u2nKl{lCqpHK$+)s1F%#5$hGQp8 zS;5e$OFQyWdKXIKFuTNbd!eN1zn>i4aW43tzxuU%>$T-VoI?_wQNtx_- z7GjICj$kUu|A(%(3TvzD!nJXyK=I=4l;9LE4nc|r_uyV!i@QUEw@{=I+}#2}i#vtl z1sYo1d3U~j?Sud1&+$4~*UHMABhMV;zLg0k69ELDOjV-6n$g5D~?M24BY+v)`Q-G zvwlZN^Rr-lCP7m_-&CYMPq!l*-D3s1IhJI@kB(^#0eX_@V@(*dI^-vke1fVtisEU7 ztIhvoJFJUAH2JJ!*lGXP{Nz~lH8=m78Ze3G#!hXhh3~dmk9}mCP0`Au7wL999hkPD zB~LW2rJIC`=1FY~wFYruYME0#;VIJ-&?3`|24w+OO+3k=B`nVc>pu zUYD(Dc-c>?x(HBO;ndxA^0U_f4H2~$as1Xa^Ah1OdKR8~ z5+M#d5i%qeUOex6bi26DSnToucIOQ3@v671^4GqrBk_hfLBS|ns!7YXbsY!!kQRjO z=h;|nZD!YEQ)YLv1tL1$V7C>w2~&L(;us4s!C)1NQLu#zDDPUF&p1Jpg~woY6J-Qf z*N+#2flTgkBRwbLMkYM1)WiZDAB%~`A zzJGqybjJR_ZG`AZL#5=YC!}&wQE_S}KK?p+(itJVOh?;u{%w#-4tXq_sJ$V|x@uL` z$#mCh`~aOAfZVcA3ZYzQg{vNqHse`8!?lE%8}0+{yA8URDgT=Ny6bH!8V0;(@c$mO zdsBWY+{@u&IJe-uadDN)LH4zH+z#|QfgQPO#^SqwiuXcpV*j3=0zcWbhEa9It`T{+ z+8wuH$=}$0aw2W%^lML2Wbm9xQq-OepU3NRD?MgA8N|>2s{a^+&+PWKY*SfooZFe= zjU)G({T&3kn}FYi5}}rRfhP}CX_|Es2Z>=FL4hEzHUdmN3uHsKEh!fN!QKmOit*Pctedi8dt?j8gc<~m*Nqjr8CUMeT3$|I3ND*~Y}PE}~ciJ683!TKUlt;@TIzLF(S)2{arPMUq9lBO|gdwL;3g`ts^=!Ux|{oJBp zy$}UqsWeah&jq(AwRRmc35^W%Zoe^sZ)lZ@vOiLE15Dc;G z<~gW8MQA6!kq=)`3Tac@tIPoAQO9q4o=ZrCUhR4(Qq!hNL{?q68ht^Y_?~AgrVZJI zgjs%0lc{2wM>2lplRu{ZkMY~3TY^OVBHz;#A0ww_&y$0iYf`dm0m-aXd>+bXNxHIh z@ht;~PesTH)EbX6p1k=kr=A~@_-8!>IA31gk}8|kAQcT-5-krXRTDa>bYM4+pi45+MF^Ie<-|f*0KQ**uS2`nDfvT1qrMwKwizy;Rba)48ClPP#D=y ze;dF2hcU+xbx1C`Z0MiOq)5I3n6gIL-(-1__wbQUW24Rl#DnDrr+KVw|mk>AN_gvZ&3U`@=RV_=J_uZJtOq;g* zUfDH?$Gjd#=Y=eXV(+(5+hJsKkKo}(5lmiuuAEx=R-TYH`L^2oDQs?9gs%~`lFI39 zAeu>UW(Y-5U?ud(`aZ8jCSrZRVO4)v9M`gq1?wNO&M8tOk!iRi*pehkHKJO*a42*$ zISFTHdj(m27@Qg4Bu#Pc@eMsfkX}3py$i-kWjgTY%VKW5U;)G6`-xS0JS;on5+hdC z^-D9myg2KAou$A*gqRQ}Q&QmbF2%)r%O^J>A(@7U8WQH4Sn51GavSzRq+tkmzyw|_ zO35WJ>DJEv2><4t7o7perzpyT@6Bd{tRl1W%E(5Gb@L)&9{oTiWzNLs8k)I&r50^c zPD-j}yu4I)7B(QiLP3{aT1g9&9lM~2LwiDu$Dw4^S?%xqG=eVoTU8pW3nFjNwy&zB za2Up5q*X(eCT9H(1$5bJ%R8u9NJ;TbeJ2$I&SK!n-JoyonL zR+dycn1|JM-RRy+MMl|nO=dCd2yVrSL=^sqLf5w?)3jvcv|e*qLrncqOw zAm}-D^CLo$Y898%I&fVPRKwi9zDs5}xy~n)IVBswa__J?-le`$+U|9ux?q$Twy%~H zT8d<%yo;iCCSr*lOjijq zCdV|Y4#xM<{__}WFSOD>2OyQy{vj*-pw;LC90@TBybmR9new2~zD%pEzA0D_ z^J}@*evwttx?JdcmW}-nMG**u!6A?b7vq*`mmAw~k{1R=gb>Z>Li@qhUl+~F%l};; zu2e$-sqI_z*bRpt=OI6rLb8f_)j_sXM&bTQq0Z;I9w6++>uU5;sKt$8LMBPc4M1`3 zR(W(~lNg zO@#YJ4JxPvO>5sq_Q*n4AL`HGJ2WaKB~U+e{B!BVKwzd~{b>OCc4KY%RGPVF;Vn#Aozp3UUG=Vo)33D-qvq2)V`-}B1y-oial(8*3EQ~7l;J#ulz=utYvt&-CO zGDms49aY-ovrCPxg&O7UCa2mb7S47Yej>wR)<+>{2L}vvyvI4&a!5Op2_+cpnf=O! zC#mwIoeVa=y+?XVQt6{+Lt;cf>#dbV&+Z6}mE)n47qqY~i6*8~c6I_8B978UkNzanxR9gyePG9Pr;KeGg!o({xT{0j8 zGNVn#L6T_>ENZgbw*HVU-?}s)-H`>r<$kc(Im6DChpDE+CG=|M#Zs9^GNo4~eb`QS zg2nrPyAl0Z0Y-K>j6t9*=r7%eyN4knK_odPmx8LnV02iP9L^}Ppu~eE;dh6Q_?+e& zu*I$|v~*?C=#;pDP=4Wf3O^OKx{C&^DK&r6N@M>Ig-?uKvO8OgIr1@8eyg?D@9v++ z0V#E;Ms_P-`t&~anAnKLCmm>3R=oZTl{_gbhKJCs_}23Mg9>|wxGB7?dm_v24x%$G zfd8UQheZ5Ydl_c~#9JChSo|tPq0c_d)}FV@EF3nvwM{R$u?8d6*lhz zzLU_=hpPN;Zh_qZQg1lg0yGhCZ9E<+8D#CpH=dCTKv%c+aL>c`90e2sxPUy^usb;3 zhrcZiasw>UiLQtFKJ^bDZ-K$#5)bS}dJ8h(?#KSSkiK|GUP2lG@c-`f8P|~@u_L{d zcn>vW42Avg#V|}&wS<@WqU(~~z|Ryhcpaf8L(S88Po_!t28Db@&VNkanSS*<7nguj z>H>Hs#tRE$@rT#bL3f4lCiW%v?KHI!?Wbp}rKvryfO5~m!z!=LmE~IQ^Y_Bvhk+PeBzpWVmf-F?K^V`r7cRP1(Jx!%N17Y_zadDWQGVV~5 z4G*CkEAM!+v7`fEl3Sk_s2&)2g`|mOz~+ee(gz={^ue7pJAfX#YF++a!^2&D?uHeu z6{7&e*Z$gPWX(&b*d#acO@toa%k~9-z?d1T6R|ohc%kqSAqk{v1RRP^IVaB$*de9N z71mzo7#4r2K9jRM{E8qWX314|idd<>DXtwF;1d=+ppFT6p2zzqzy0I_Af-oED5J8Z zX-02WFMy^r$~N}|@j34lMDAC`aK31YNcZ}0jXVY$$|R2#53$6BnkCtd)rO?6bpr00 ztI5X3?zCQcu5#C0``jgAi55WvvIJaw^CHs^`uA*d|5u_Mf&Pat4VD-wXNx&y7rcYeOUrSyhI%14E3ZwPiS6+(lrwaCN(`6MyaCJvfcw(!$`W0_!bt+o*P#Rkcityu} z$x6##7p(=FAh=^;Q$YD=i}4M%3>~Gjrd#-(?h3Vr6~}XTQBSBnB%#t7I?=D}<|-pe zo}(?|S(vmRT!q*KDN;dj$;3Gl6*cn+OM^OM=6u`o+O&nzSxKJydBs%fi`Xoag)nDvdO(F8N+sD<7L6~{NncP7@n7}!mgy>$2YWJ(mV`3TGP7o0U6g2 zS);e2kpfrf-BvKG(e~n112Y-PpudOD=9bC|SD~reWOhHK($CjKxo1KX=`C~3c0SS9 z6kAmSmNMZ>Yy7uoPUILt8U{Ox&DbDUZUfp#zgp<59V>1}EmnMzS23&MRwYj5%-Xfv zhkP{dH?J+V2O?jb=6yo~!QYk~pDJ|gaW7514gpdZ>T{t>XoCR9@`75UcNu#K5+yE%_!Kvh7! zx4>vEquV%hPH*~&kFUf>;L-5^n~P{S@eIFuv9@JW+- zj84D6V|J+gdsO&QqYCMZMZ;b41gOx4Dr@qVf*%?h%rRupT}IN}%u;2L2hHH6cdfc{@I4hC}2Tna8+X^gQ690sj{6RKg(X3m*wr}WD-B+@rPNZi%`kn6l z!%ZKke^@VSun^fI(gLyX8L_i zGYdZ$^WLYRx|j5!{9e&*n=ey4323~rESnWkrot0-1pO8*Xyrh66l2ap&lbW$mB3&} z8F2X7P*zi%<*AWhBTP;yF@Q0UFRgE`M4l2!m3cPUGfrspW@B}vq!|>UQZB1vOb%ey zu^y>=(ex^&8>@+DRF8;f&X+^G=$VhB!xvnZ24+}fV>cQZu0(T9aK zu6=w9yWu(zRD12RG`bEXEKiub`(ynoyadW^ob1O#QB3bXg--qR*@gMTK=NF01@)=` z-Hy`DiDmXPuz6{3SwVSc4%X6*>3MfsNJHsD84~eDB?E`OijWwTYZS}!)2=(K!^pmD zna9Z5xsiU%xcIFh+>8J`Frj-FM0JXm02TjK{O_As@`*Maz95*TpQ6s2 z#wV8Oa?G~NMh>^igOqULeDMJrQs%p-Fqv-|Y26J|dzeC`9DuxxL>XT~N*taK*SEYv z$0c)~da$2pd*0&KU|hmrwGdIGk{(0snGLE(QG+Fi3O4)aElHCG_}shCubNUfS8o9B z-)?y^TTHl*8oqp8{mLp(3jc2VNS_CVJ&c|FSO8E-J6NW6=KE3}@~C99@?yQ$Ah)d5wkM4iMMbwOjt77} zP*VpF^rR<|sPi)KL!HpTLEp%%J@ESZgT-+oY*L3oTH4h&XretP&8$40sRq__=Oxg6K8IvGoQ!q?cCLu~{)3&R+wQn~6Kr)(WpO!MehCl%OOlx-A= zF-B`Cuz|i*&B1`{u#IIS;LZn_csE=|p2CtE8UmJYec!0gPbz0hv=j+4PQ1EB+j6LI zB{F0?s$OX~sJtuzrI^Q7-;7(QD)6(9YE(NnH7?luB(s~%|KIIM`5PjfGyc=LV@<%ZG|6HZiEE15qRw}=SB{@p@1{sBJxOjEC1+?2Y%Q) z{L_vY=NzVMH*&huC^3B?DjKdXcs>z>OGP~u5};?RFvu&NN9s^1w1S%fZPzV8(@`TM z`;(56Nn%o~8jTP3L#1Ce4MxU=+#TU`&kAi{s8~>rC;14A>ET;CvRPQi#aXkm0 z!=`QTe{5e9^OA$Hu*7x%DC!vfXGws0%g63#is~eR>0^s-1JCs3a@l$T&LX7!>um++ z{E^8`YE=yyqnk4lrf8$6T{3fUMVk!XdmmOY&A+^K_NJL$P%_lH{fXat>V&W)*F#8_mVdQY=gW=K# zFm*4_igVrTH;a|mhnS=-;RjbErp7V#j$5r(Vg&2`h4ReJ?X!j$H5e!|cf+XeB;kF$ zDysc|f#J(eZ;}M&nBP?-MaQ;lABoVK`29Z(PFUhCcSAp4P|POEr_;)7_&CWD!w<2v zFQa&Ws5Dlp_NhF)VoUPWNCe(qJ}}zW)(6jMI)MsI9PSl^(p%7>CQq<|y4OZe%Bo2! z_wc!&H&DOcQ0Z+{$*}%E_iek|_Z~}Ea)zkJe0^hbf@Hb>q2RsZb3#69!~gH`%L9fU zbU-nn03#L^OAvmm2w5%JW4M|vFNc^AS~RK+$a^n5?CvLCs9e^keHlTUqOwXYBW7g6 zqI#MPNQrw1zdAr8*(_)4as(`U1h0qV%}dR^&_gNEl%^zBBL&U`4Z~Ncnb|q+kquAi z2?jsL9cJF_b|x&`Jw_!Il|4xVk)Hra$rnQ>LyD+{bV1K_9po}(W|m>0{vV3?mP`~G zzJPV)yJWeDXe!%FzFkp<`)3jp*!qH`lI@YqH$Ie8ihh6qPjn7)I4hHR4w<28c-GKC zEh|iaad=R^%oMou{fCnKY^jK8MV`6wCmNke&Ewyf-DRXD)jG57E0?56ZbEI1><xA9Ar!Q=nzDz57?n$o>8ivhZqdK?V zSVOL}1|0Ow8tl{T%vn`rSeW2aZ>y$Ys=R1k(@!JD7HnV_?&-4S%mr-|$5aQ=(zC}3#`Iq!%lxXDEXF<`1WAi$OLEE3@r`%gI=1FcpkSg zSwK>E57-c1(=KDgI9~?H=P?b@@y`4Q@rM{&yfI|CZG3aDxTK+DD$dI; zH%O&`h$)mGj!!{6nvOrpFzLO_t!JMHwi;o3TshTB`rNe6IQ+YF5qe1j*2#bDL?&FH zrYDg{{8z<9+Iy&pBj3cS$Siuvwnq>6UapRW@9m?eSHYo&;DuAng2C!Oq`#8(Qxgs+ z6$%Ses(?f>)kp)^cEY(oIf3$@2!zSIydosSfHP%RtfZ(CxlETFoHA5;a$_)|)ch0! z-Q64B?G-TY_}xtbE>jMztz4@&c<~Io{7v`BEE%#VdO~DC&Ny=P8Yd%eMu~vXc6pf6 z8rZ*?iTfPsrKnY^6XZdCs(Z^!Aj6!Dqg)|$GU)j?G3I=$d5V!c;5Ih`uyA{M%2IiG z5?v-vxY`}`Z2Rg+@!vk_+f=kVElE?S#3q~^993QYxN9XReEX zs(as68iI9=*bj@__<--G@#0G3e7YsJKT(Kxr{oZmicN<@fk2NQ=}KQb7JvGGC6q%ygtwBzej5gryo!> zQe<*N`wJT@k57b~%1i1=yV9(jE@hk7D&&pX8PveY`CZ**=`H4~xrAuqIs_7jb*X=* zD%E(b?JZaOGk@X9T>$YG2a|kGOs(StzK)GOH9``Z_fAXk#vN&}=wy%8?j9pl( zok(Xs-jQ>=_F$XCqo5q#CGpFAD&Qwbb~5xin4?K=t+(Cb&)KSZniG6v{ifT~@5w^^ zT~JUsVXrfg;x)IF0klF>#HnvAjkC(E2|#oA`jCkUgap7KZnu~7TqwS9uzmLgL2qo| z&hxZgO6a5fb=idXuGw}5+Z%1So&WrJ3v6}KGfR=?2fU;F|KWnu{ERhIrL*W9!si2SPo$`-}hUXBJE+Qe~cV(%n&5F!S8~O;{PPsFwKa zflicRg-+%1`NJZeK>RiXf}c|#dm}$g*4cKX!rF7W>$CnLg%Pv45LJ1jnkWe^PiN*| z9AG_3h(A8&D{^-K_#^wGuQ|)DW(!>@sIsXa{p(=0fjRsO=w9!yrn9{QZ$FEJ`T8H4 z0mp>2M$Ult8odRjv6VkM;3*<%f7|dO=D?e)3Vdy(fZ3LWjuSJtQoF?8JNNP&IN1NK zD4}t+y%+i8iu|!-XwI+ZA(q>pG&{ZQb+ciDB~!aVi-zFkiD9&+6@5rlDCzhrm>}WxF4! z4%6VX{HgyX<;dfm^%Vu?#d-m5>dc|wGx^zipS8T*`|QsMgAhk`a?T#$TQS1?<1?+1 ziifRg{=Tn+vMGd3=yaSRsgjIijcxKxita&B-IyHKOX*4)fqtMMk|m~GUDrI8|7L`{ zsBtytLIGZU`nl_`cVC#qP#oUZ;*#nb-cX;g9rIQ!4x;qr3Lct*38s{B{m34f$g~Db zntkknx85Dm?mD3sL0#W>ZI|(Bvcn)#U=^WM1-4AK@9MVcPO~xXb?=`zV~jerdwW9O z%CzJOTPXG}>$}}{H19iQF_Ds^8TimP?vvYSAo*!!V(p7%CsRmtbbi0?$!orRb??nM z3PlZcO(J^fg){w<^@IC8X`}|x$!tiIf2|%mQ!8C50#^5eI83atReSL`P`|Dagv_;p z(j#XY0FmsWH)04fh*wOnDe5=+ZdENNF%$i1!l9iDETKq#(LXA^vPO9Iih%3H+eT8! zk27;=E2qx*q=rJtFll8DR%XrQTFpRT3?SeYco&>#7JPvtgyOW&15;_|Dl`ccGExWijx&!t>2%mOoH>Jr1R9 z|8%+E-;$$=9c@F{#vak}M5OL8iuoj;dTqUeL@v_#cORj#oM#J+A$qh$sKp+AR81&% zvsmxaUh`P6Q@lH;FMMVasd{U!&ujYEpCp^owar|Yf^0!3C2g;Nl7h)W5&jHVVC>s8+2Ruy6Wh|;CKdOS%0|CeaT21~D zDI2bO{Hu9PSAdRySumzx_sW!N0Pb~Hu}q3cjd0%=$ib*26P-=*^&>+q)xwu6uA&{-(!{h)sIPa2M z@vmT6C)r>;Y**29$Fruv@T5h|*|@^kGyN4}VJwP5%oQT(iPmb;Z2?FA!QggIrcM4v zqAG3Zd0+_vTlCQ#e>3v@|udpZo|h+8&sOWp`rQm$Tu z`t0KV{DKW5a^xNevfA|0+W93U2)oY-^WhRdv4-seNF^KTbwBU6x{I9@lORX z(fYivUZ%j|+6d@eb&b%?gJM}=BV4)g*Ddx5@$saR%y{3YzGb^@H;)i*JGE$S;hnGh zCG1|}fZ>`CGx+mEX)rG*R{$y+lWOqc4?7XXdVOBruhj3Q=~GKNvy--IzTQ-DiZSNd z%3c0-d+H@V_Hbf|ZA*Au^{9^`b@JUO5|=%}C`+EQy~%P3uORqM2}gU)@f0!(iUR&D6|GYK>-fSs<;Hu{ z&Iv(X1Tbr^QBWS+joMHrw7{~|cLXjguXd&=1VydKT-dT>aHrT3U;_N5IxyS>41W$u z6pUNnx>GGl1FKg6+0;(4uPn9T6_J2^r9t@Cr--Q+nS(Bn#gZdg3vllvS4>IAgUi-I zY{>h=jlT{N_)@FwmxE0{cm6U>5}S>W&|Kr;zEe^Yy_{IJF%2&~=CVs!&L^oL1&xzw z8P}6l`>J9du2fI?pm^+^swC%PaYB6bU%UfUCXQ9|rqv@|d4)kQGs*l#u+0h;a>L+e z>LwL}zDp_mK|<6`4J_2A2190EC#jil6kZTDQCc%XN$2Y&rHK#mQ`54+5qj(;qd}og z*dM_lB!x!JnNG+aJF88Pdfhwe9T&wCP9R+F`Ymyd^uFKRb>Jotb%ttw%X3gaZUe>#pPuV~?d1iszBj&>B*wa(~49vjy0 z8>%rFUSyCX^^bgj%N*&ulkMLNCQ)k6Xq}$}%PFaGvq)PPC&+a(+J_+hcGU;O(^G^w zmYLP7B>tl?IXdH6$kL|Y zv?DfR+#TyDKdz}p&BO)o%6uS*ER(%Jq7<{1n3lCEa1+!7Z5v&Bfq|=K(to{#G?o8SU}J!NE6UnmByYvT;lD-TyrbVjQHNQlz%gd&b%jIyry%g4Y@x+r>F&{@z?Jg2jcEY(-12AmL~rSu7xs)V9AEXSd%L0S*9tO>(O z!v<~dciz`7SDpjwh8s4p)IEx!4GL_MF-oacnjL$#|Cl`Fp0C;?RdWrzhG+a9j5nsZ z1xa?G+~ylo>e2SujOs3!FkSgQX49IrPe(Q~3E5Po`IGcnmV>0SGc9Q$jR>BzvXEzOV={+ohx^dD>5Yb}hEGM6X*$ z5_SwY?L95k2h8;_Q^Z~PczNXV8!zYvRgQ9XV6w{|K3^U2d1M}O2ak%dBGLC>LY+_A zZcC&;%6PeeT0}$&dW5lGck(b=N47*4LU<#Wlb zFv4#gJxJ4Kj|T!AXC4b^y$@lyn{nFSx+HmZlKhm`A>!EN6zR}1x;H$&&RFph5XH*m z=5#TsY@K%zh!kQ3goeh=q_1cHKE84GaEh)0myG4f9h_S$9Maf+`N0q^*;d)C@ycU< zbSr(qq*?p36v6v4ZR#BPb=0$2mW-;hUsh%uh!K;wga$E3?c~gp0JoWA)C|-e;TIN2 z#~;;#+(|zmAo)k%VoZS5Hl8&IVT3T``c9|oQ#?9hn_Hnlor#k>y`$xXvW*kK?&)^aGBFVTS$FFBE|Brk1J(M<(OmO=k4K z_8VId=@Fx|Qz0SY2t|XSEM0Iln~T!#)VEYU*Kd)%C&~D9bwK%O}<;e-#O4G@0@$#!(aSRQd5n`=h1e;u_s9*GZRA8k`Z!r`L{NU=Z7 zq4~vVZu0vYtvQ|X%njtSxjHlm|B!nA!^G$Bwr{bUfmu0;RC#Y;9mE)7ib4x7{Y;8C z+UUOyEdmK5{&;t^xy{$<(d)*41I5IjpjwrF&34Xk;R||PvNjd0;lRq7=e2EijfgC} zcTEQw(RdS0%Il+~-VK(l{kmwCUM3=SWTfzrp;m>doEX&<@MKVCZKy7Py~y!cn44(Ge6A0${1$!FL9)m8we&ST0PJ7!`zMNmHXSF>}ur zNcD$t+eP}gl1?Gkyp0C?lG~5bIjYnNfz^SdP?#MC+j*cc-dH1udGD}!T7sTDM0SJbcm7SO&B)A^kmsNYwIRSu!67{62Qyv5&cn!83luleljI+T^Tss& z30ma+Y6PMQX-+Y*hF;OGUc_*ZCHmU}UHtV%>G>(`xyWS@pPXSUP2^Apm@gYNxQHDd z>0N`*z~J@goEW|q4z0nv`7vHA1UNOoH|`5+PB!4#J$KnxO6{Z+mO#)}-W(-=i~-$- zRkzEW=|2yho69E-?Yn#)-t#fm_X>QM&H8ulLo=pfr$W==At9H${YxEu-EJ-SC5)9F=Xfx-lFfHBTH zVjtp&CkmGbI@?x<--})CdM9Y*5Y*2& zTYZ`K@w8D!p*tm`VP~x&R?((-Hb7rav%oVV4+|!;7tXrfY8X69as7vm{y87M@v3Z^ z6C8VfPK}l`NJ_8gw$zV89)t#8wxPW|^VFV=JH|Da(>N)!X>`ApnI}Q{;nrQV6{-1MR)ChjvFJ3?{YqwLYK1;6cH)lwy2z8~OZWRm#rw|WTLuwi8;5TEm-^*K z0Fju{&MA57Tp(Jy`|jDY#%urX%iS4_M2sf4PDk2!hukk<_t71|Zm=>%ZK&+Sdt0d> z=L}oHSA)-`+|W8}L5RB3INXhNDWf5p2pZ~a-*;||2(k$^Lao{A8XIL>AyefYik;lY z(1)>d!heXGO-ncZhXQK1ZwcY-$^~bqr?5&={m5jQ423&8~I2zlsp4{VP`OL~L|9y0|YxAA6@+NURf@A}Mk0$BxE)SB2^c2(z zvc{h4V>={asRm3YNG5;t5Ht-vj_yf{3tuz5h`zXj66V^rK(9HK0}m68*#6h|Y2c%hdJFYrug) z3uJS7=xUev;%2dQaqx_;N$i%JF!j&zM<`9N4Q+ZyDw6-Xmu!lVoXXY;bzVm4e4|~{ z^6F!Z)68O+6hD}Xo%{KysDS$-oBMU_g9N(4NeQS(x~7RV6(*)!Pfm)ipNEaX-|7|R z*!|C6=;++)Nw>P0kUr~`)6X~01*5naQxgZSTHBOa93mzoKdUZ9QKBi{X%Jc z>6RFmmYrvx*Zcw=bIMYe(v&Cm6jaVT8RtT_Xki(Izp!%+1tw|6%z!bxP{*VIu4TwE zI8-EMF5em|YH*O)+blsFKkaJ77qH)PolW2)Mpj(DCW#UQI?nq5xnhshB}~t)B>C?2 z-O+11-M;)~g-z|RQlFPhD8`#+Rr06bsPY+4T5@=m87{@AS zejS=K?UG{0=qosRlF3i?-Sb^8b&*)()UsT4)4aBN@@BF2ZiA)jiQ4~A)J{5=-!>EO zDwo(Nn=%1E-nbF=o${sa8_E{Bxq)!E3d>j3Ze=C`*MdE3G+0-Uvue zpVH$xizO-*?sSTpG}&)v@s=fTlqF+)Bkkp_e7hng{pL3I$rmP~&fabR^Xqb#GCB^g zY~u|(ueh;M#X>X$8v#^13q{jAzkB0k>L09EJO0WGj2r6VYx7UkxWaq^>s~e2&?M{ao2VN&W zGnQ51xM@vL#bUu*FzuT<&7$ywRdA#%^GLiRCFS#@z=nTs!?ETdmdKiVu0=m0l#e48ezri^7xlVJlmYt$>)p##JcMzz#_dG?dr3MpRESk z1a+bvg#1|oe{FehJ?u)T>X-x{MTjv`4GBO7jK~DURB*A?Q4c9p{M~Exfs(ZjvH%4Q z!+Ykxg+g*MQO=B+p+~py+o#13bcT6}_viGnTSkVvp7)VaS!?8Q8fNmpBE>mt6EU+e z3bD1+HRVsnj}&0h5@SN4s-^0CR$lR9o(ujld<%muoxZ<7$@m z9FT&WGcQccw1MymPT;L zDIRRZ3R3Noq!KqdrSlF@+X)6Fitrf6xP*Wq3n!C#uHW~0u&X)WUA+Q=@zl1^Fe6?I zjQ4*;Yq`G<>gGJ9Wm%g*&-4qfKTbl}To)d$d#MHcY^ry@OecuO6 z3nW#)L2`FmHLMC*(*`~X9CF;lXFN2VU1P1?I1pb=$c2T1083zlENO zmt8vCWm*lGG`J_ZliphG1E~2e?T?6St82svUX6kV`M&+`c%@p5{#aSxQ$z5v5!nGX z@wVdQ#12mdE|nzj`ukjIfzeUlJwvLDNC_45ySiXO9cb&j!^YqDv=rrVXXKZ8xq)xy z)EI4>_V;}f*ee~<|NGyF{#lsC{!ESTb-qPbYmMV^tJ{6}ANl0jpGMkF18G0IADWcA0E>tpyl7BUL6qb<&10v|_Cf>mb z)2Ba#_1kGl2Z9L#BH1%ohd>FTwybx#lN z{TuV>O>KNsuW#z)#QzTfN

b2eZ=YFdq|y>a@d2P3l!b%m8rzi*PqoA$IC+sp{@5j8K( zc0>lF-d-cs;|rn=4EY1nImu+kd`gG>3p@e?PYOQ}ZH<}R_L%hkUnIdB$mH8$_nIX9 zL$=u@$0fg=i+fN108`R94P~d=&KDA}Qb#k4a8zxC))hdga!WfK5bK7UTOcN4T8^1z zX=}J`l#0St#9*-XG-7b$JTqaDuAbrN8{uELafleJ8wQ|M0*b3xn>52;{{H}X?@?M~ z{5@}aO=I)_0F&vwZ9n``%Os8Vw@9l$zkmLxuDQO|{3h1ur}=v7yzV}(J5tu_i+`8p z>V+I_Lf3eY>f7;;QOHpWXYjSXbl?1@K2z!>g%EnaP)m9B9a~IK*|d4BzruY)+T*1y zUaq@a$Exi#y>Id*ZSH^L>TWU!y+3LxZRS06(m%$3FY)#66h*Xr>05jM0Qh>_`?`Pf zJx3veD^Kp)-hFi5K7VF^t^OXSEpbw@{7JXD>IoAB9RB@&UZ!Je(!Xl<@mTdX83t&t z+T)*>{{R!JfAi1&Po=i|9A59B^>6o{@BNRB{{YkUr{}pXU;hA!>yi)0dHYo_=l(v0 zThClax*3nl`Fh=!t5R+9+HdGFOY%e$#kx9ww)6=6IJf@*$I*Y@?f(GmeNX$MdSdbR zrrkf~xTF67`g*OS=M%hoqz~=%kEi^7Or5Ioe)iRpPySw$+Ir(@+JCM0UaMc-tz)Ot zBcHR!)#z2Rc%s*vTixsG{{X}C_1E2R`?jwMJ?~fO`#o0a{{XYUkNm&*oRzOTPghW9 z{dw`X`TFCyqV$iH5}kDa054N(jxS4o1Q)~q0PFt%KT&)1&fhBS?rr`ay5PJ&nE2=a z04=>QQExS0&sD#AeMxz(POqIhJr0!KEn9rQ)cC*txb!ZG-=uL{c-zqhGw;~FQ5%1| z{C~=S@b%Yu+BTT~0LRtFNZdvHU+Vt=KU|S}8*elpNB;n{{{ZTGp{eiID-l1>=juz( zeXVWeabJJ`0M+SOr||dcul0WK{{YqNjMF2vYvS?m$NBoOgK52q_KEWU0K?aA$5dCV zs+X_settbn^>-JKm3nrk{{R!)RJPmlpFjMa{cU^N(fNPNb?vu^jlaYH0P@Fw|HJ?? z5CH)I0{{a60RjXC1Oov80|5~LAu$j^QDJfLFoBV=AW&d{p+IoK;gHespy05;|Jncu z0RaF3KOz4B{Qm&|0RI5^QvNu+hSq4b&zhZV0a6*j0vOop!(s71M2waShIma0#lWS* zCVUco*sG*Yuv0y=*y?v7HFk6Pkp{Dr`WZ6w4`6P!aJ%P^xH~M(784{u35n?4{=%t- zx%4~%<4YB(eY`TCgA+ zQktoYzIpd~?13rEPA{pp+bdLVVmIYw*CN?X7Ijz+0$7S#DD=5Ctu^Ci67S#~%!ok3 z*Lmc7l@{hy{{WsOzLdrqYGktY-i*)cNOH=ai}F8m@FR~gkiU5QhN1%%4`+MsIdLw= z0B!(7NV`$vt_G;%g~;~1hzdp$hPD*iqelT_TBQr^qL);c`;wz@;ykz#fWrt~A=uDw zrp^KLT?tTz8?>wrUK2XE^nDnBq!uNiOIDOskK1SKG6&b4M~+=sAQ@na#e|et5eUN< zWM=nTDQ&!Yh(dCdc_A8}X9FuDN$C2x5-xkPl@Kj1jc%{TAM3gmCluSkNzg=41IvkT zCF@TUBQiSqn1S%%6S13@10z1L&SS&+K`GmKJtMqIG}mriH8pxM%r)y zc;_*qK{Smxe#K~8*yaecjtDy}Kw2B8krD|Jpb|#>dBY_{X3a6L)&mBp_4PdiD}j4& zlBaAYR{MTx3!#RdX!9Exy3*4N3$58-s*4kkG&e#D8v@V|g|%g|Xln{Q;MYsudVvfH z&HdS$&g9E~{B$2?ssS<^JL}+YDn_Ge(m2treNP_lr!B@4ey2Aaa8~^@RgMA+<2LfI z>hMCyy9r#o9<%V6XpQpGj2XHL{14yU9NsxrkSmS;M(ZQ31ZnE$tA7ZRr45Kw!-1N*3?5VlU}7*$+sd>S!Q95KJV@Xn zLJf|k7`a?PMB$3FA-FFzMm;do)N}MgwtQGQU6vVKA?=By24XS>Dk@<(1=bb30n^GC z%bOn)DV9ZDD-BjRMRv1wY;;FsRyze-Op*kh95@M6B|*V`q(L~Rejv;5#B>E4qMDp+ z?p(C2C25avX8T^i0nQyrtXO%i35mN01{@Y~ur2`FtIzMeSR?+Q)G_L~JaN@|nYE*7 z{N<1}9m^DG+Mx!KP3~eUf;I{*g4GMPasX(iPi%@TYj)4WTafY_LdlJY<6w?Oq=i+i zuFDLrko3gahublc5VTZkuLE9}XuZ8&_4wxeIv@cjVHh|x?Z>6XX5+(JD}-a(Sv%3P z<_H5!8#7q>w?}19!eMHL$HLqQWK#1t%FV;F^WuDM=+n6bR z4}o182cZoFHA%h0Z(F^n+N;*UF0cf8h``xM#za)Zt!$LQ7snS=5rG*!z6gO1!gV#C zW8{&&m?2A4m-rfc77)UEQZ>@-7<#R`?_h4AJh&)Uc1|i{di0|SK|lE)^ONcA2u5lB z=8iPvv?e!R*DgF5yGQL{8J2BoIycs%yf_TTLV>6d6eBc~A0TIx+C@~tjoP%j%hC4Y z69xJy4ksdypz(QdEK&lgV{}&~vm!@lb=?T&!Hcq0!_86zQgPVlq`j!3X@+cedgYah zUgpwDHcLdC^RS@qmvmv0K{`;IQ5pay0i%|XOA_frk!fGhc9T`jd%N(5v@$VvO1OEdK!6S! zHJh=mQ7>e?xnhek@Xq1xoFO%;sg#zHcDx)g%O~FM+Oebug4Eg?N}TzvSxo(9Y+95= z9{^V93q7fQs;z8c4hsR?c1p_XIxnX4eEJ?xfuYyK1*+495$_Jb0pV2M)us}d7Jzp>;nykP8aL1ScJE_Gf*;NPoagdxZ za7!)|t?tJG>vw11Qb25^8mMgF03r>{OIv|}eyzlac_)m#L@NNBs%LU#moJ8LJKyok z8Ka2!AUB!FF@=;?YbUesjeTS3U~!~y047(k`LJLp=r+*BMSb8YDbsD7DkyGZK~#AO z3>QI3GU(Zob_&CIH}pEI9)n(rZ$YS;Hmd`OKmY&$iOC~CrUaLXk;9$O4kMI+$!$N4 zR@y9w$Q5!YfQ$i2N~;IjIA-W8^?!dbhTHmjYS36fP8Avu>t<6%e7nIv&ogUyq6TpW zUCjY&2_$T<3`;3u~1I4;E2n|rNvbL)Y z8w?8=Je?pvn*cVZe_*x}RQHI;Dt+8XW`0x(RlUrU|S>w zmVpAvBoWDxnY~03Hw%Vt0zXIh^EuJK)aC>00%mFj2w#NxWoMi6@xCLX0}hiwrBxDg zyHi6q68?Ra{{TY0qD2uHqhZ+tQ43?GQ;o5nH$~e}UWkMMF~<&J=txH@A4yg10#MN_ z9y2~)jGDE_obiQ1H5DS)oM=w~Xm72AFP4pk+Xzyc^;Sawt~u+bWfBj6y49YoB_wky zHJH%D0baxA!GNQH%NH4t4ed#KC}539{io9f7XJYF$fL#q0>$M|VF?Qm4yCB%ZTs5A z7N-N6FGDuPL6idghs9!Q*5iXyFq5#bX@DiC#`5bMsNmo(G-)If(%p<)BOdDQO7}v za5n<96z?;w;%O5z%eErBU(Owqg5hLTyU4App&Y|T40iRYtOaDiZvq)RY$~wJJGYJp z?Z+C%5>T2jjFJA&Py`%qceBww&}0r~VL*)6Xpl3yEKuKCSpkTW=3>|yzJO$1NXelX z!zr~063SYr9uR3|)>(~bvBc4mUPbkwm~ac()fyBlxgd5Er7DO8h>DOy2Lja(ncgPf z!ep2qT~1C|a7T?Le()*P@Js?$PFfAVtdn3_aba_*X~4KamW?2$rq*p;Bnt2t-v#_C z_t~uwa}h-?IdkxX=*)stjCG5NXTu6Td2Ui5rN!RhCMp-)S$?nrK zru`g5GHAUQm=M>{2!=f@_@Y6mmLd0{ur30^8w!Dm))1QdNnGDBHNSf7iBPc9ul29V z7yADI&YJIn5>|_-e?hqe!W#QxT{3xjFx2x!MhJ^(F%d^PK8gH9!m7mEDI~BfjVe=| zZ#%{)C(ItBDKVN-H3Ip*F)xm)M4MZiG=jbW02fo}b%HgdN=WxFv|wZtacov1bJ0A~ zfEdu8W{8l{J5<1fX99G?Jgf2#44!vkV~7R~E|_|~>$(oxZF;IeZ^bxB?C$RB&K2`( z+B%l-5*Oc*`Qab$xef3z_8J7 zx4+>nc5L8HY7DSdOTmPhQJdC|l7V6scqdf6#n#6SeCN8-LNontTfKFUbzhGbuFQZ& z*J0u<@AUUZC;gFyKpSH5zA60JFvD*Zp?P|cHAG+`AB9yXU03+QtlMbxn%S5+A};`j zo_V_rgx@K&2NBR@?Zr{gQm~L zNn)^gmIP+>gG;Vxd7rC9YJ!84+qT8T4e#z3p|3*o;l}C}N4>+!cc7 z`!$XOI^YfKBlfVJ1A5S7Z`hS8KoMCSn6Ms(x^Tdr4E+F|eE|Ryk<|U=ryJd4L`#jf zZtBP_q1v>+KlQ8`#TMpcjjhL6skk13NK>dXS%y>5P2tjzaJ>IiXS>_g2pYm`% zsE3SPtYyO2C5C-jc0D?6+%dy?@V6MF z`8Hx~_1 zUW(PqN|+?oX5+FwL|cF#h-rbS4P1j%LtzCEKott zdtR0?ZV?!w@twT_o50cp1N1Q!q8VcyO^fX=Rq*%aA_ljUTq%nIorw}An*tY0V36`y zT;K~Q=_mH}{I>&wDSp>E7_396IwW?A@d=KC38o&&iHmLEi!g*3xW@evxDH+>r$&fK zs7x7}Pl}lJ)xZPX_kQ#P3PHU=-Q;T;aLv=yP$ia#S66j}B%2ZCU@5VKZ-Hi?6;=34 zhsS$`W0z_xr%n}nBQ$GkBN*8mf1KGc{U7lInCUj7cB zO>K@Vgu<_$x0mKvh77O?iY+x9u{K{JqL`Rc?r5QO*vr=n*4Q=nWl=T=(_8L_ERui^ z8f@vA-*TtzVoX!80FbpFcGasC8WO5+aDaU@<>9N-I098xWPHIcMu1Bb<-@t8QBxx4 ziXzFaUKn9jxM^ANOlr8V&^n}i+B1I|+!?G8g<@f(5Xxzhs5G_z0Ax(A!i?fZ&Fqtik$u@`ZUIKjfwu8Y>N zM_z?y0&R6>#I$8t0TmOTa{4A#1#;Ht7D+Bv%8c106dZ+AsE(dg-WH@q<#2&?;DN7= z53#?>*0SxS1)|)*0>Ee7Y5xEQQ*1DqB5gi)oQoB(n6M?-rLlL{rvs{_ImO5y+jmgS zKTQ+5Z%P83V3h5-XJvq&83ea-D#Y(ywBrN1c|emwsae23(^0(O8%yq{vRIotmn~}p zTWjC`MG(eNAs1IZqkqpDKZn!N18O0FRvmD~a)A5SNxoq3fcC@fhJ9VoIKi8MkHr1` z#uZjd1R|&ff8#zK6wUsX!5?0^?dZy{WA#AqfIG-BJ5dj-)9yTxi!ZJ1+_2B^A#a?& zDTcj6!_yUMx00a+o zB|4nIJHRn{5g((+=Y;A0=C}^lsrWn~{F5SqhxI);=kMCMaGvqd#m?M}QPJYLU!S`->lF~M8(%~m)FFN}^TE{mo7&%h{+rLi1=EQ(nZZwOq!ovYD5 zlB4(HSJ9ayADsYb2U#F^khQi5nsr;p1#iPOSm0MFRjtN!W!xX4*k+&ObC^b|cAUF1V&c$EAiTcWlCT=^lzltI0O6bf{>xBVgrod5J!8M1i7KGad zOpMtoNTI@dopfVjIM^eRX(3f>608!DECPF}y~~WyH)u^3mTLiE9|G)63%`8@CIs)r zn~?b>x7M?@SnSP_-D_033cw}{IM^2eZB^&@-f2&h(S8@otFrIN=#^Ut$NfMZYggiT zT_VsNHRwD6gq(iQ6||Mgj2XBH{7>KC_Cms{$v}iv0I&RKJb;5bAPs9uRHg_&sRuZ(wxGdvf zTmiLLpWk?aPA~I?$MQR8yjSP%w}0C0@SXTGC=iRQpHaW(j(+{ChY9bCX@IOc;Cp5E!#=Ly4-)pi+#{sX-uvJ+2Bb%hJ!m$3 z6Zo3gT0JO#H?BN4o{XWx`RU*e@(fPYL+bSVp3ACcwMj-7f7kfiG;`Pn3AB6`F*6_b z4drE2OeVvPQmixr!yN*SJ5nd5XSPXepx4qqtr36k46H;GpjB&$Nt7`1o)1w5k7yrT zr*k!9Q8UcxFA&|DfbF)J440gM2vH)`MZ1AA|njD?K zHRg(ig`4qB2A9BrO821sTyZ|pbJ0b}5@`X2W|mQ%8iq0%8j01gXvPSFVf9zu#Tg1W ztF>t`OiGK@{vqxJ9n%c9AJi@wJK7xq&~%>#o{^#@p)o-GEa(S9cd!B3l3EGlMeM`J z343=MN~(lWI%xHO)#Aghu`w_RSG{m{H$;<1Fh0rT#9Gr9jQ}b*Ytn!fIH3kLe37}_ z_&R=sX&|i&@1u4%V^VYn&ZZ~Gz)c8Z*C>|XH55LfT{jmKD}uVAv(RS<iU3E2Ky@r2pG@AhmE^)ULf;=`JnFEA}fC)v=Xv_mCOM>3joFeh~zY%f53>SFz@ z0obN-z1*RdHcCkuiR|x__0>qE3;cT*pV%|*$C*x1a9l1Iy9Yz+L%CAIM5Ap zMSu{oc1pN;sz8cPJAHPhu9K0l6xUsJ4@or8zy#iS^$Cx$Qr7Y+kSjKDoq-u z7H_d{)mPXa;e)NUUP2v`lp@Cn@BG1|VQsl__Ci~9<8%NTtsPWf| zC6R+28U;ddHR<-Lr2>zX2_|ymehFlJ!1IKVN^j1tMPYQT-IuGGCnR!>QGi4UmKUXE zg?z)VB09wPx03eWC~NP1FIqED~2*s`v*H+SoH=mplaeo-LoFF(~@|_bD0i` z&<+;UNXQg~vqM%eFbxC2a+=K7)RogK@-cA<_+wuFRR}{AMG-&8^nNB*kt!ataR>(D zu*{h_4DzFp*2ylQdp?BF630dqg4MyA<0kAX*2Oy;?Mx2yKwL~>!%mw7i*Q-Qb}L2Z*JZg5&f1(Ss3$ygt5XsmH1MGT2ps|Etg zh8#J#dg)P;VYrH$m9AorCYeA!;NYjUeUFXVRxq>=>tll%m0f~U0QnZmq6)*Dd6{s- zxRcnd2u;in!>akgUh{s!X0@AKKvH1EHzkI}2_YuY+F&1AoWRUh&y{A@b~BL@P`&XN zvuxN=GU1zmkJ0`7#+zre#q*rx#=QuYhcS(Zfj06Gnkfa|6V`U+dJP4Pa78qPmV}I{ zv6qVJkI=1{-#j%FCe>hZ2mk;84=2FNAPY=gg~IEx8`*SsxuvFTXyEOr8Dy%o5Myripx8UsZr6PA>jk zuc24pS3=TjP2U+SCA3$xJ_%d}APjm<$Eg11TwLK>AQkA-i$E6}$`F91<04D2NyQkF zo*N1#v7p!^WJ?dko1jrPI2LQ6X$nB~)N@4kY$zX0{*{58Y#nOdpStp)aD;EDazj7_ zED~`@O@GnK`Ahxs@E}4FF5c)C6atFX1+d@c^UPFN7Giuk<<NJE*rkdHEn|83o~~BG0qSGmu)#srgC_*ivcj1VKrKXGKw*aiZ;-(3#hyXicx+t#MA37H!+5!M zQ37iUIS;El{KG1*e?qNP77RkKA^KetTz7#+(xg;rK>`3V{B$-z$kwg}r=)#f$XV3? z0LSMvAeY-7g3^=|mLPrRefc#K5^JP$pW;?GIAUWL!dqCmVd9ywCvg0PUVt=sW zzc2D3<1?gIZvdkzSV_uHR6Dwg%vWCbL#alcG){$pk}ar{Tu0juoW5AdiWKtGN;df7 z4t(>}_u%ENu%!cj3NdMbO5O|}P7L(rA2Hh6YYDf}OKth)qWCnC1 zG_^WRU2G+Z3+Mx6ozOg3Q%s~)bh6t-p`B5C6Iw^F>|48BcQA%jKLJKv4c?)5z7>EL zCKB=D<)V-5eRSf>4~Ni@tYA=(oR{gZ688(-nD-qy7j5R>lQ1PuQG`D5S{IYk#@_<5$p@uroq*UTitU8*r9S8-uXhv=0M6jIip#YU+$ zrthqkg3<%h?<4s37Brqrz!u69Y6w~nj4bUw^4!x(77Vkll4S;qK(Q`k4Jg`xM1Mc2 zZv>pw>U5U9*2~s#X&OyoVyy);?J@n#2u{MO!6W`z2Tn>6(xd^$fZ6#W35j(>fhZQ? z5iwbnMeI#&UcQ@Is|=^d1;k!i3E1KT5EIb`iF=@Uu&{!tX=1z1*nn*kIXFGoKt?ZV z*-ghcONazy7Q#{5DTL5ieWAY4!FlS?XE6zp-k_`tmWh|Gs+E*;=09 z?csHm9WK~2Vm}DJI#HhN7uG!EWUX|M3IwiJ=%KRh_2A=-?Q2N7F!I^TCgFOhwr;%< zn=W|0fT5G@+4~?>)DKq#oHgT|!Lx9X((a}{RsR5p66W3T9wvw9@||j*DT9F^ zfAAqb+P$o0 zn-M7kWuQz(mGf#K`Y)_^?xrv>O3sJ577Jog&@%%BZfbXEG!#q(mvFbeJ2#`6VQ1(d zu`D;xrm(EIBKE`w(lGx3=pzIs4@Jrm_eBQ0Qv1LYG{|u@oWKISp01qH3NJ+yducoP z0EexHes%{6da37b8r_d@DGQ@ZRtK|kd)fjRICJp{hLhO27;1o-OW=;}W($WNSgoE| z#fWViNBJo0Nl2`NY(oHS`bV(=tZ^+2sk8M~UQPqUftn>?fmUJcdt^X4q!7hggiZT- zK^ZEYwNaowF`&Fbu-!#wYp;5w)QL`??U$kLuooYWuRriUJDYPmfy1HADjlLB=sCJF&+`ntQT z0T*(Bw&M=87y+sWnE|ktkJIb^U0Z-2zE>1`n_G|aRlM+#c9VfHHLYBvdB#A`B)!5% z3lAO&A{WuwXA{q3#+p5Jr1AZt%6ht7mDs|C3z}_WAB#%`4I>!UXHyLl=o*Jrbli{6 z*Drq|dZ3nZ1@d)#Ud|{L*o=Mhq&#Cmf>#$#26in^O`1YOGlty>fwaxZX095qOx8?7 ztv5dcbWB1`acrnZmsjZtAw4D6^0?`3IR&!pX;a^K!i?3Zg`;^Pb%sC9@fgGu&1noP2v_ z*5Tm|Kvp?8#9WV9wh|;0hu2?1^(%j8li3d zMUzS9vXDxkvs?nGH!-&ps-=_-(DFl_&{Rs44JT@3mbSVw&W|n$lS%KZP<>jNtdp5- zHab$T{{UtF9j1gBIDz_G>)b*c?^4rSIat;Aglw5+87nBt_WqGhM6UZ};k0AdBwc z1VBXJNC?AefgpUcZGl$7Di%6!^vE^e0QV|zO44?yZb;(vTVDso4{0>w@)& z)lkO^w=S{H@6A*N*LF`tmlHU?Ek1O%b0sNL5mf7P7HZ*ihOH2IlOI^+9Fmn;&BJowf*YOlAcPF4ucaZs0TP_2FG zi)LVq|@5^&ClQ4*FYBlQVJ$kzR9L0w9Tjg02v~Z#h5{dMS%3` zs}?XBMglVgC{c9SGruTYp9zsYH&>ROGOj2dC=NfnA`s6t7v~TiA zg&2xro4^7Z1^)mJbBd7?i`~%enBsyQk70cXLydU7a)JJ_=wS+yaI2_r6{n@8&(Ftp z+R7K;+m~`iA^ZE0=|;<8(3rba{4032s~T=W4yY*M>fstOc2dDDO0JC7~2V}FnybX*&$~5Bx6<0(Z2^iS=n->E6|KATlY z&va+Y5em#$MqW2al|TSJ1C4&dA~xP&QnnWB6f-zJJi!7e>?*Jo0khIKjp^^IK`^sO z%Y;wt>anj?7gcqgGF;r20}z8=!Lnc(OaoitBQhYUs!a&R5t7(q)E%}pF%*f0)#&He z7KT(#hFC^{L_?${p!W@JyT8w=G;LW!Rg~aY*wRT)1NZnIBbuqp4Jd>~28&cF@u%cW<$>17g|&M;{h*(nfgWQQyIlKa z%30BlYLRRbgoRZ?Y)*O;A3BEeq26-Iwr<}lj7=yV&IMDE8;rRER(_=sOrdWB3vF{p zA~b)~d61oY5(28ux+%!7??FApXv~alF}gL3V(p7f^^oA3{{VqNsFqyhAT@hl#~Kc{ zMj~hGyLy}cy+iO*^_`yASmlE-ifE!!%E{a8(l6q8eHij0fx7zv0G0{)0wdvl?2YzrB$Y>ytd&7y>#6;K6vro z5<5L%y_{e`kpu&yskh$h<#>n+}2jM(T;kv&r6tnANW# z@oz$iw-g+oSqFiT-Q~IsBxr?IwKCJ^+>MZ=ibx!7TrivJfWZ4P9J}C!9FPNx?*paz zoGc_=hV%6(1Ue-KZNS~04GBSdHWN0jyH8Illx+tIOLr2tR2)Z=s^8$O zks-Ti6$8a!cG;}^pUD^iz>wq%gYg)66>I+dG>5kcVF)Tv2&_h)PU%4umCz-AAfls! z*dakH9b#*+2iN)2YEhT&33XJWfX6;)>}-r(QZBQf0GY+LTtAnPc7?o+YVqtSQoL0H;SQEW|gZ4X>gH zlCFwDsM@L$~aO}@yjU@Ik1u6ntm2;an)dB(|Xi?Z^CaSNeq5{W&Zmm?#hDoqsl9LM6 zVjZ-Gp#w;&te><{@vszhmTUz`Z%0WT1}y>2Lb;H_8p-;))pe3#S}4kfZN;@DGn9V9 zNKC!>rNx0ME1jk3Fh8Djfum<-<1tAEW#Ep8#nw z`pUn`n2wz9f0RRRgp=^JD ze)(|C&{yjI{&@B-*W&%~;hTVu(f$1LkN{%37Q^@R=ZX}RjP`u;qNRORf9J-ckO zjPNMaPAawA;Xq299*f{bO8O}O0LPdVu!Zz|@BoDlk4*C6o1m}N{rvIlU9ZLa;R==Y zBmGY)00t|eY(IZKcnAP79SdXo`}fKfE9zJJzBVbOTGE_nhYZ{Vevj|xl>sVndM|+$ zE9j&D03K9Sud1*7_y9tON2YibX{Qxh?eU>ZDprN-JRwrPq<^XA1uP+bA3OvA7>J119kz=R~~CunA4-o0W4lLZ=Sz~g6s1Vv&CKxNy`1kLOl zH!A}oLwSIj;yqX|ulw#X#Hu;ONxT)J)Eh+9jd7=X@vM0$1Gn}0_?qr+%2Z$ocm6@iJ^<2V^`7tby?g~nIJAL4 z00SCp5tM8Tsdkm`_tpz3{QV!gFCLT9K`FQI(9PDgUl5ef{{U8*c5Po50ySmXa@7LE z;e-K5X!kh&SLE@)mJOt8k8z+iF#+>Oc%k(~cH;`G1u79$Qor+soy(TBfQ^ynLmdZT z@A?;w8hlirY>mI2H{5(~hBo8VN|yfshYvi-XXWGJ57)u~7{c}7$G6ep_cPwk%-dQ% zMktu47r0b92_MUbZUR3?_wxmkr>+P49Uo5`d*KHIlwsaGlZbQ@IUZi&A>5XZLEC!A}G%Hva(lF%Y+#--_IX%$-R;zMREp83O7Zh@Ae~@el4!o`1(^ezy2B zkLTX}xY^H}@GRqCTmiLLpWk^7hhALtDVmn<_$&AI*)AP?N6%h8R;XX`>h3jixD5XQ zh==T5kAnBF>UsO}6UAV7Ir=XuXm@@ASar|KhN7XP(1ho8)E0%(16&O*fF}^fto+0ii;sTC+0J2ArbNS6 zS7;$LfjNQV;Xsbw3vaAggGX{dWiMjNI4lCm1ol9)nSG?MkLUsLkE{ij{To?$S_NpA z5#$X&waq50iaG10R~E_yPI=t?q0=XE&8(}n2=^%_x-2V;^4chhk@hMwg1{M}a+P&* zEOsdSbhQjWXOnShzdDU7&6(<|WY=7g8s>ccRNS5kn_xmnxbQ5QcX+OquvK5M2Om#{&e@ zxj^B3;Y({FyP(ZSED;1BicFdW=VZPsfx8=}c+kye&g($vLWw%|wf3j@sy!sqHHrJu zpy31FBI6$p7AdK{viXfD*1KsRh=;srhhAGqKmwElgB06GMAX$IRjq7GMbE5(OW9O| ziT?oB6!-EsGL4uk$we|J!}BxfZz(CBibDr#*~oRpo=i}RG#nqQ6dJk}38d1n=H=vT zoEfHpZodne^$L~I&Hn(&q(WsafU`3--ZMO0tQSh&pfPaLZ z3M~5z`jK# z^ZXisD7kQ3n`x&@8FQ%%3kqgbbk@PE>=2Vo(B(ap`(le1SnYZvi7d3F}VKg68H!KT#8JYMqnU&37~zA38n+iVr9&T(ZNk)nE9~0ER&n-9^fi=_Kf<4-9l25^i_9ER(I|1 zmuxeltX2XTl7q1jo^gg%p=TIIMnz@8n-rbH_#(hM0a$KUzDk&KA$kUG^EnTPpnw1Z z2C|c%R(6;6T;?2$S%{h+A1{tZ?A^c)z&mk~)5SYh(_g+#bG9w`)J3mX>5Prk>G`JT zbT#G%2U6U9ce#b2$4`40tj6b?Eq!oLjNks_J8uj9uG>_SApbE1CP8U+cELNI@z1oT$B$47Wy zMllelO_p~J7ugSxCDvqf>#F^W75^T_@gHxN;qo z@Iht65Jrr;F5wL{FwHF#KK}qvU}N@c3i%gD-&!P{PV-Q3$qRsT!NzGI^{j?2qgd?l zAXPsbfJ~;$nto(mafe8d8$0AyQ)zjB_Qy1UJ8h9DUK04Avhl!Fn1w9R7y1Dm4>1+QWM z09V-QSf`^Ng*xKCVq)yNYC!a(F`DJjSX~^lr?J~=8Tka63#`U> zYY~`+%fu3LOb!w{o;hw455bA>`y8y8q0Vvx;Ag;h+ErvyZ(^~D)zqRSejmxCu%c00 zc*JHj^OcyCr^j+B+nxHwmWIe60r20bw^ z@^_b1spapy?M1@N{LxLNFb!rVV*cbc+0!3u`b5k3uf``3bJE&|TYUrQ9J@1Fyuw`% zBp%dDgDm`O(>}RvkhkWxu8<4K~G0!Wh@H z_^<^^gGqBazq%2slaI##06vzX3MNN5L}q&y>QG!+9Ouc?0kScl;HEh;F1SISrW^%) z6#+Wh0ScDf^#a(01)^zfHCuA(yV`tH^KAkHDT6LqZKy^#&4I2c;gSsST|ey;GnFBc zyFdz~l8Wh}hy=li{3h7x2K%88cm=@E7SjX+7LeQO0i>d?OX*T@u&agT9aeHon zHHa-%=BHl`>@u_x7Hoi4M`xQ=b{zvOW(p0y<|j^CB;?ENpHpi)MCHd}ehh~WG_ylO zU3TeXQUN$qqM3y7zK~F|2C4pm{{YXP_uN#pXOVrh=Rz382Q`o?!DY|lP-dql2zB$I zOw0{sX^O6aA;O&J%C(~6b}fkNDx-u;Zw3CA6@%6tcFeuWOc%9*8WQ5I3@m8e$Ii%e zuO*!neio`h6|MqP#o+-nsIvWm8zw{tW}=F&_7MB8LR0ZCA-zar1*TU?H@jR%n<1(* z1$CkXvoBHX;LC=h=k^Jt`4;CpF7QOdFF4pkSqG_PK=w~Nafxela;78ZEQ)T2OThQY zh@U82JInn*uZ_J?5zSF!bvRck-i`S5{{XDtu$gq71zTL*wxx^0-QC>@g}b{u!JXjl zTDZGQaCdiicXtm2f+TndY3{w}e5d>A?tf6b_L^(2HRn6VsI^>2!^&NY60q-;b&8O1 zzSY_ag2ivirfoj>P4ve{Ip$k;4@f|5z#QUt@)Z^im`hzwCiT%w+(VYY@q&)Ara~c9 z2>iD5Q2a7@#MiTTcda>Xmb(_<9`p4XS^@CNyUedxc$N4YR06Tr^4o+V4%$sZZBb}J zK3uqxtjA6?Win?N-b7dz>h_RnjPKU&K+Iqn;eE?pB4i5GYSq-6;pFOWf@k!PFvp4v~g>@ZNI zo)X*b-|W)w)F{^Lfkhz#VydMdU>>j_J}vn!O3|j?%ErtZ-#(}9k2{SGqanV5Y15V< z7B1sBTQd}UiaiOD;0acU`TEE@kz^~6BUyElILwlS^v!p5d+`hNAK8vo_u&$12%JBO zoJkRpN`$4S#j=4t7YUeOlihYJ@2KJlzenF23?om_x~I7Cxwx*WnuQ50k`f1>Y!o^8 z&@;6?S1)uz!@%dAgB9ZL70zqA1;m56aCK@QFS3xULB|FQ>H1H8wThNoccAr$8ddo6 zTmt&6H0tQ@fu3^j}{(AU!g{9USieN6BlU0vMbb5v`qF+yTy9+ zV!T(fWDChy^7IxP+I9iKr^GDqDa1^OmDGJj+MwP2Est^pUKvlU4ebi9@7J+47->V| zO=H=(>B_-|q8H+?ZO$_EoY4VoHb~!NSv{ra%+ANDO|g5+^;#l{qQ^xT(NeExiLgU| z8NZ5s_vb`gPxM|>rFt0)K0#tnt;f;-NP%kD^a>((1A9g1!P;5##ilcP)uUk#T33SW2%|fRtArsJ>P41NOCm8)&(-BTR389;2jAPjk5D#oDKNr(03(o3PdI%Z5KdujrBxGtIU2+; z`^9+j2nF$Zk{Z z>Ya|2n|;18$T1NocEa8VbKi!Oi#Nb8eObbCK4|UWApFG?#@Eyz5rga-+!Q41p7`VshtG6Gj{`<%UkUk~5E9{F$a)%_aeN4`7gc=(4^du} z$P)TtFhhFqcVm9k#49{84CN1c&+9$+9~s5|53Qg2y4%cf)*p&*4Y%E1`(j zc<@tSrSBd}uyYM4cZ5x&$;DhODCNH%jbVVx!_I|Kv~)A+&VYKz*W$hs6_ZNJMd7?W z&DrgfWGaaCs4xvPJFU}QA2AOiEj$ekqY2|YvT(R50Jxf{hT}X(M|~MzorFVg*_a7xK-)gXXv(Czw^kK>xGf=;b_#7uc9%4Tu<1j+R>MhEw12@m_;H z^~aKAXkEOtn0Uiq@k+~C<>LYmu(n^gI^T&8UT3S<5V^F1lO^vG!raMY@GRb~OOb=s zwO!*r$%N6$!dNCH*HMph?Yr#ng3>LS zoNQwLVWu4$30$L4l2iq(@??}222-kOIj`!x?-D9#-4_|%WLHR*<}+CL#j#q>;GL^v z_{KFacI$*Ay!KU2!w29#Qyt>ujN_Y-#cq5T@ww9uA563)L6k?40fs4CyHI=#-~5r_ zugRDgc_wgGt|Y!at|7EsbPsA5>B1Ou5kGH=hJ8Yd=NaB0sV9xKje}f-WricCkJ$3h zS>{z!HNFZPGStXHCaF@aRYbuszJkv^GJ#Z*YhDOPI3?x4A$Wqe0486O^Cd9&G`J*< zf5&HZKuFU@KaI2Vf+EGy$th)f!ewJB>3@k=5OKA0h#O2MavZtY-!wsi$Wr)jg z4t#>sd6NRpB?Z>@XG3aPPlccmEtTX3SNvwvv~rs}Z9#MEU+gX&6^1Nv{vx~3_WM$$)zbN6j(^f zwu-BHvOW<}yg z0%6gQ$WMxD!Q007f#gyU;wI%KyedXHXH=ll6mLr5JNqu=?R$p64%L>l=;cSfl;bSCja>ut5D)h~) zEWY>j)niaj?B3T3A*NPsRb;w35Un+dZkvIE4$Bo*<5Me2%>;eAXG=!JNCmpwr8hu9(Fx+W&$Kl37r zVyd!HhMrO#-nLg+zSDZI>rLg0Gr1eQ;a>Jt=Fpr098hTK&|xmH&{X0yYqBMZ;Mb`ETs1->d-b2gA$0;1LRQ)U*ez$j()eSO5PwsRqP%L z`LlXp{=&zW(R^q_Sb0XDFyspC`i=wPa{od0f0`OVjy#~qGVNkaN0vDtoG3ymKtfa> zjvoL|ucnKuExw7$d~&}{GPg!{3#HRn4tSrTB@P)7v=H?yBbjTM>a04&NXwcp&)w7x-r<`A-I=Ufq8< z3;qQt?bev1dMOi(o%Nwwk$00VM~)@(+>dMEssF4SrL@`{=VbKBq)(W#TsDkx(64-SGCW3ZmFEpuO;&{0<*PT;1Ez` zWfT@vsqf&2?H8U@vs4GEH9JT&bLQlTR;AgkSIwD-ILwIRk}~>5t@-qdeTM9dlyt~Q z=e`plg)s1M_^-Y+CF4_SVXj%-ntTzbgu^V6$%Fd#Eh@9n?8cVqFW@oR*MPRiCuS*g zU+YPI-=4&u@f#mD1uJtF(WUajt*y=-S8pGJUD}S-)1C=d*QR47ayxXaTEgsMfeFWv zr@T>bWb;OPSQ|tJAW_To?j}Ww;TRKK3<;J#rwr+e{>Yg{dShq%3$TkBUmCNi{Wa^6 z$}i&CQ1#kUC`EF9=|yxG)X>6po+Iu0!p_=Tc9qq*$b#zGk%^L{-r(OSGQs{$0zwv83+=faEHWO;QipddWa3uK8(lBp|Zfsi{$XbgC+P4i)! zFsd;}&tKWOya&pj)QDC)8^P#oj06MgtYIy1Kuf ztUj#}OC-iuaxKy_C8BL-ra+^}hK@}P z3iImVT-9mI+)*0X}Kp`w;gIzPytvJ$=NC$1=2&Gd!d*gr1UF(~9(m@ElK z@^0Y!XovDtzhHoK37~=W#-|oUr9*mgb0UR9!&8W+TV{||!VHUuYr3t<27nowVy6th z4`3N^;m%d~c)DK(r6>!;SHAKXb&eKrp>}f`0wc)b@xsNl&OMc&_Y(Yr^ zMh+?vL7S{L4V5{v_}#^0W7|NiC2k)xu%PM7_bXtzW|7gln6lE?xMB6Ll3fQv9qE57 zy5dtQDVhH=mm7g2uJ&7gfs`+^pAo=C8T^USI#rKSFsl`}>^=3Bl*o3|St|{yJskShNPhd&&msy95w09(g-70fki^PKc zP2n0%H_%Twu7wF-ui>m>(WL%TCup~KDom)V0ZK$f*SBUv)`Aa4XAG@hrbu*Mj2AJv zA#emGeF$#tR0eN{2TO=Y?UfYR#X%~SEoVeETn=$IE@9>qKPFYE`h$gFWYjX4s(|JJ z3Pz+_iTJl=n%VL{>rm)=X7VBqI))e%D7^mBkQGT14|c}&{g|LZ7A*%So_J)%M_nsz%ujn9NMHmU$LRKt%jhoEK3Xl z@mRB0mO!J$v&M4L22aF>Oqko#6LS0x3|wb~!6KBB1l`4MFbUCU&{ic;!XrS7im!2b z&T~bZLA$*kXk*}CCNZ2h`2|CWRO1)2^Nq!p6=lk(Vy??_@Lc!7!@)~>W4}DJAHROs z0JWVV$m_#i<1BuSbG}$9`sJVfVU&kJy+Olcc|ds|7|5<{{4ISpf6L7)g(?l2Q9BF9XhuB ztBn?whcs}H0kYj4>WxTIHSyD~py^z<8~V~0Vq3VmHZyJ_)ywO z2t6nBw9ziji~I5SaMeh>i;BkW^t99QJ=Bl14cieiQY{gQJx2)#313it#sVL+Z%7Eh zCu=bK{y~Yj}5A4Eg%#t%rfL~u^ zJC%=ne5l6zXCMecyU|&*Zs!`R!LUq$!*joel-4f*+YRrlQ69Ba=EQ@{V`LwpAob6; zW{-C3cHU#8s~6ivTMYGK6NxnrLMXd5er0iS-r*+9@%8a+hL<1Z`^EpE9(<-YenH-y z%cuVwHQLCy|CluBecIf2{=+LE`{UEZ+TwLYGaq*S&t;JR^1JiD7@DN8G=h}j#r@&~ z?MWOmz?;%-W=;9ieZW<(uaQ0Y7!5_533}O!p54<#Vo_CgEJpy@2sGUhKWi7!`%Huv zvSKJ;2PsJ^JtR07GaDi)R39zDI(6wQr1qWwg(8-MhAAg539AtDk-BuTS`)cfTl<(Q=WW)ICbseMvqU|DnSDL%Kh+ZM%Wfw*ht8J~Ti_ zoDw7vQdk+i9YR&dyi~7TCVbBpD>AMq8NXvy@)(Z_E8}|ylD+dLeeuRTZi@K*%>NQ~ zK47C~`(crXh4geJR5RVL#}^q?kL8+Inv3^EER1a=>#UuFZqNF2O-*}Mp5vKK6^+eY zzpHZ-vE*IS2$rC5FyAIffEcDzr*6rc>Bxk`HiikvmD(d<8bbYEjEbim!t1`LH(=}( zjA6M9qZ|ZaPeo4nt!LN&#ee+%jI6$1sbRjnG0zBO(lmtI9&HmtwCcrJN%uaa_KeFlWwRdn zO#mzm*#m9@Az)E@@ixK9^q29Xa`jOX5?j~ad}@F3AY@|62-G4g%7+)bE7=$FM> zi_0swgU{Wc>VRz8rN^)AtDau4qml-$MC?xJufqLVZR-up{tfW!j$vRGep+A@tho9= z&!O<~1Mq_4vtx)m7G-}Bk)R|#9Xn{jIk~Kx=;+;Q>o~0ycx_Jv_@Hhg_kTIMft+}j zgSf9f*I2|_^vX0eO*kjO-8L9ovKJYhw_qnvG_kbNpzqd z``X2Q{&X`%`2YQOH{E1U@7uz4du~Tb?XGLC1>1ZCe6ty>H_NtTUOU8j zpV8kLAa^x1aHcWH+B*e25?meHC<9M9WqqjZuy{xp%6uOW5UC7xy{GSV z$~n?Kt0W&D7^{7~D-2Sc!A&+COY7m|uk89Y`{gh@d4Jlh{9zX%CDJ~Ow&=vXu$1x9 z%t$I@?H3hqEJh~VXEAeF>SvM3ZwC9nh!_YUKYT#>PtcCm;EucL%=Tk=%;F6zF^)CL z%usy!VqB&&D-&)cx*G%2JF8sOw3HiDvTjqvJsT+Y0q!dUr8+JdqTpDsA? z?d|8IHVTw`kb>;-iP<|9yIvt-mtE?>u5KjIDv`)KW8~zgZ%X+h# zh&jvO-gj229&EJ{T~i!s zfPV^eL4kzT71b?Du61!}D4k=^^Ejbc$Te!R`3@PqY3Z6+z)#Cof1hAs_VIt2BdCW5C(kzuxr%0x`*i<77B zJQ=d_UqIUnAcCZ|>HG27=}b!{}RP1cYcz$m@3Eyv`N;+CgUBJP&I7FFP*lW+Ece!%@W z6N+~m#JtG6PLF{=l00D$|4}CiUdB%AIO7785{bi)$OdFFhaaG>m@0HRdECR0gs>pTijF|6QbG`mvjddtq{8xM*daUa8x|rh%Sjz-Sb0Z{!aZ- z?~v~2heK0$6RsS)U+F1b$L1Mt5+suQyv=Sc{H&ebmEp_Lm>FbSVf;gNNSfC*SR4jC zHU4`e+IutOk;(!KE=_83a9ieg41 zHmS`rkp2D;OYn`H*YP0v;p1!)483$9H;d)G=6#c8+@78iihWUrLa!0bDYcI%VNoz$ zX*g_ND;fw}Q`|=!<;lbu+g-!|P3w}zWwZa)-Radqi(JtjlB4%#$%<`Q(j6z!&U!GW zC&8_S`PZM0mm*~3siA4Fp)w$$*g69viv+PPC0a)frG5d>v`-E{AfL=DXap}qhinRL zyvx5;gIkp&X}lFg#ZG8e5oRvyo36u^T0$>+KAjV}JYSS3VaW)hmxb0Q_+B+vgFWJj z@DwopV&c!q-B6Mrnl}Fxg%L58IRi0{YUeENQG!Qt;+!DhaD^-wz-AOVh{vE$eU3?L zg$@I?zT|ifOMeSw)&3%VLj6hDbCD){u5Fy|@t`c1Mu5d+)fRThOI+N^`As$0hr~pzcKVpz6 zpa9rffu7J&tvjFrqoQ}qO%f)zVWRT&IdX8la*Q!sy5aD1*kBn@C~oz(CJuEHi9pB>J2^K}W>^jmbTAg9rHBIF3F&n*Et1@d@Q*wVpmYrf+rm z0pX3LCm>#naH;z7oo8^qF2p`$i{}>9*Cv@YxZrj>ZL31n5zF9@n<;}_9}5k-PJ$T| z-$cFc8)43{W3b&|3!r(I{ftS!x|1rIm7Rd;U~3n}^rIZUfIm7u7IB1ts4?F^gQe+` zsk?lb1ux0czZ44~6I#lQo)DBTrFIs|RI-9Y?iM$EWXdl`eGbP#=1PMWAg8K}+dLy(A6Y!$uu#_c{LN z<^>v01f>|{w5!`=)FbO5?srIqSb42}dsf4}gt!Y6M~BVGzQbnmgbQ{U@UFoAi2nk$ z-inO4+qA#(_+maUkOE7e;Ln10y>V0KV!;AV&RfsAEB5E|+#b1>BBFoQi8WgDn zxJ0UGCi2)nvpXj$%FU#DhcAX^WhK~Ytv38Nr^oWmmP2=|b_GyLDjpBO=M8azZA7f} z(aog3aF32Oh3%3#YbdOJSX1D9eUgT#sg>!J#DXthLoh}3|1xcT+3!?d$7)tyyP$}0 zP)Y_xUBCVXEFNNvF^+(qh5ZdxBDGts*=79ntuK7Bd$-@%1P9-r{mdxyH zk$P|<$F1{%hGo%P`t(Q+a>@(nm=rJ?0g(|VJ3P65Qn-B7-`a`d;@%(;3PjcPQ_Ofj zM~tsl652lG&~o$z1`WxIVd({n1|?wF#Tl4VY_6xobSsAKl1mwZIQMfJ4`vF1u_zy2 z+kcGqXPo5^dA-uaql9<`a~^Ba!ns9fgpKYXC$Y(&t(xgTL{h(7DE!2oj63|X)!d|< ze`W$%qtXsJXWoXv=vF}+J+K~QN^=5|i;o4uk4ll%lHNAE^>`LH3Jqu-rbIeO`k}ig z)WMhQIF`HB*YL_l-R43W0uV49l0JFT>9MF{=lTs{%vHQ$WZ0sm`bT}ArG9s(#6Xuw zejp!QR<0_`QMXnH2I*Hy_^y&^B0IPGd5|%14)fk|M#gg66>fN0O`;^HeF!>?DW2b< z-tdu&Q?;vzD(M~QQ|FH*Bw&ow<;pppZFw<3xP6&3nvwi*B%rlXkjDm!$*1 zA7<8{-Lei={8%ZyB;of`povI(B@*9Z%I_X)<8h^;b3}o5b4dgY@S)JAqp;LnMk4*QFM@-Z z%a^E*KGU##vnk{xP{wT4h^i;gouqV3*3#>l$IfjOmF&aNL`yIW^=0j%U~=TVQgbJ; zAl^P3DV^wSjUwxsFbyquReK+eE{>Ig5V5o_gQ9g1ELvX-Pae=YZYDv{j3lhGAt6An zG0x^MD*!+YfKQ!u6w{(01U`fR$9l^TTRoqed;?BAlPxyLiDu#J`}Q=~?`SH|$Ib9j zQY=M%JOr3$*-ANhNH%STSq;3=%!EH586SjBJ&*n^6J8v9`$FlVZHSkEURkRr^H6o;z0ozI&`?_lA^cp>)>+%F=00$XAfihaNDBk>l8Ef$w@FMUAL?bweaeffRe zvN!I;e1>Yaa@}qT@ACSLBscfOpku~@ryCXFTGJ+3hk5F75u_vQv2ur)AY zLyd{E^jXt!CV^<^uu(sE$KjfqR zp^(!>iobG?g4-tKO>c<1mb9zwrNw7$gnsCXGUbarON5M!L z>O=pu1`|cciw|aCO^h_1P72^A$jmGWGQd-AkpaD=U7t5lKnSNE3kKYWW6U<)c9Ua46At&iqH-N-2F1OUIb5RSw zU3ejO(wBn>#=b}2`sj-0t{U&qnmc0;rETLY7$B1_G0MI+|4C7Yw6Ix4rT1*i`=L zmJ{MU_gE__?{>c{C51rw3|bF6{kRtKOXhA9#sUe!oIS1I9-3M5;N|4_kaq3t90-Vd3QYl+-3!*qy z7S4s4^e@Xl!cBrPoZ$)wOj%}Rue3XAJJ{rob{XzpozWt+8%+zF4>j_SeZrm%KMPeB zFLsi?;!Ba4l@*OUaHZJ5u=r}CUwd6dcA7qHqjBQ?d62-Tl=GlC8vjOgcm8Qvj2nU$ zVZ{2BJDy@hT9T(_k*M_QesS>*^Gsot_2({={43OT%q{w=E=jgDG$AWurVQrC@q7kx zut>hWhTS4ye|&wJ1o$2pzbbUMbM#9v5R*lxpmQwGXIula;I()sF1e(HRrziZG=WZfltFhs?4n zwg%R2=3^kA)W;2VN(Nop`9)CCC^h|bqvNCyh5V`YuSu;fdCUl-#HV!>%oAiXM@H?& z?88kael(GZ40ceJhh8->v70W|Hz-WwoEsU^A*;L;-<{l!j*ezv?8akk3CR@OS;41# z1!n_88Wei*@Ew}Cgh!j)c_#b&hI%5F3EM#(3s+=p&ptBLj^xBxC=}tdFp|36SDNSD0A~$KmLIFEMA8NL(kVAiUogm8@NtLaXO``x^ zBxUJ*! z&CBgHqK^l$x)yRhJAM2YfIZ)9bw4ep$`fbfL6N@z_c%px8}|6L236!tuzDpST%jSY zOst0CF;pSOmA@_eIj>VK^vr*ZEfirPbd*)3$X(2u2tRB#`*EK~7kdkp@U;m~qJn6v zL%3QOH=m_39FFOetbheZjxAzv`(bvC69=l?T38P;uE)eGRX}20lG|5D%SrM4DfIMU z5jjjq$S<4r>wf{D(D&CrdC(8H4Dw)3H>IX37OestbHt>I?pMAMRlGT06? z&xwxIeh%1EikH-($_l|-xzs1;DmD_quqQSDN@-aW$BoqbP{R-{<5geP;j&5VZ%!2P z1{tsfM`!7x4#XV=pRJ*vp*t7kpN7vMCZ@oDcXC42+x@^a9w24sywS;)9+WGX8>r&V z;J|31Y$HS(O2=88s}1F3bb}XTEow6LCG-bDfdv(l51}U4EW9ZOdT=hlSOYUT_|0i% z%S^}O0^BYodWtHo(^V%HFBmP{f`C`(mTk1P8tz{Q3Af$%EG4SA8dvRF(2QK71bJA# zR)a~6qX#TR;%3nCVv1}^=B4iMa2DzR(z2f366@Af=xeqZ$)QGd6I)T4sDeo?ltp3? zoi6j2_zx_SkW?-In`ie zD`2JinclDB41$QQh<5(qq^eDUGCrR}Jc>6T6k7;v2@}4+)(BhC-*6jAh^iM)BT9@~ zpa3;@x-2!Ml?jg5Gy06Uo+pG_>im1daisd%*QgubJMjO1BYPl47&iUTrv1C98Z9;X zuyigSJTa0bOiHmY9eA2bAx;Zi7m>jgu&u%(sOvb={}Zl(vGOgu(F{w{?c1=Xw92T+ z5F%bQ0>6vv3`5T{ zb-H)!TxW<3`CnXLP*g>U`tL2Nw4mWWRXP1h%brycCi;-WP&f7QB^E1lpvllK&F}Ge;ajs2;pc`LF1;@5x6lUJFGHYA>?U zZ#E-R00B#-pPzp|U?_-WhV=sAAxAL=jG0y(9y}!8jlY}L;GVPsDn?AH<*lhK#(yIs zF)Xsa(BZ`Rx-Qc&ir86qL4G-o^})qe_#^re4gtj5cWhOG!y*kf2zcEKsJhwh9(@8n zwx3VLE@^%H34W;Wf0gnz6my^K5E^Wjx4VWa9GiZFemrl(d!{|)ddT9;+AIzcnhbDO zB>d({y`4SvQ}|B>_z86iNW0#DR=;*j`4=!l_V6}M(T;ke`PNJ#$DdPvi~gSZG(_l< z88?9U?)CG(D81P(%Eyp1U)W!FUfa9Rd`!FA9Q6P~{0~In*m0Y&VK~iqdx5oLLJ&a? zGxlsF=2Q33&)1qtil{xoRuLo&!obX^f#@v!SwR?N>~Hl>NmUtuhHyI+fvZ>pIjo%k zpRX$&f#6C$1VO?7f>?c^?`)>yEs8S<(15^`=ZMCYAvoQUnXN{kdZrGfWufEAY~HqHY;=l+Bjr6QEdHbUUqf-3n4Y-k82MRD*8O%*HP zdZj%0HOPBz1Pw{I=@~r71wBBh>HX&^ZQ#qBgs|zAAI3raJ#(cZ>=J!M`P<>QVAq8{1Q^w(8vqxfduc^IgwfZ3HpaW1eugrjAo0a{RwJ?- zlD)O^_}-C4Wa5xv1eXU|#$ir~f~;0{mO^QsNs$07@av9)g}_cosPtdJ4z@b_T-|yA zxfGU;PevXcM2=39K#mrz&3XtPYkR-zJ{mv5T!oHU+IOb(YE%>42p1jjktX9}4a1IA z*PU^2JU-MSuX8SYT}ePm4|zL%v;*ADpu(ywOw2%1f7 zSjPLGpDzE8<&7KHyB|_CyXq=;*ZU1sb5+XSiqM3Ii?eSK8}YM+h=CPp4L_kj24jbk z!jn#Y;PN$}_{$lB>FFy&a3-nDI?njH3HnR{#M`1+&}eli=(VWay$5Z(*G+zhCUo>y zSy67cF8LNA#5u1>1q9E@Yit+iY*~p;9_shEQUiF=Di*L~TsEzPreyfKE8@rlKgl27 zE%D(6XENe_#RS;K@`R#D3Fbl+S!uN zK=RIm`s;ETGG~L0Wn`uI`@KOX7P3iQrQ#e_FGG!Ho%B{+r616%r~iO|)<#v0wzc;- zzG0B4(qwHXLM@>RBXb4c&j>W@LQN0(DZY~nqppyhL?2+GZS>iYf={X7Sc37Hq1Okt z)PFAyZ~M6!8_~7`e86yp4JKey7O@A)b+s`yY}^)SZXX>0<1mX4%RwnuKw+_S&=`>- zuVi>ote)!CvpfSgJqu&neLOCOfi5%NQQqpB6~@P90BKt%%0_uid*Og-?l-mHcl^@l?HVRX|XMReGxjK#t;M6O?GZ(IA)u~1>>)xV}de-_a^4;(T~eiheFkq|q&B*fVvrU#xo z%5U6>X>g)iUHaQwLQbkaDj_EdlA?JDdr-&QRI>Ll@E}WoCTlRFvUOIVk!02->4lQ? zp~V#s*Fr<_ej!7I(J+LmwSR_2+x{<`>j&q?-U8w&Y^d{gwQST9btXH9c>kmY4;F)o&$E z7~ys-K1byIYsdq6JW1bbtZsLBwFo+z8&$r#d=tW5d5d6Ev{Ju{HXY60)K^%F81zjT z<}H;-G8a+_sqWB|eYdWsKLKX=i9!JmROTb|!rSK#xV{n@!c7j{BCQ-|MOx|;wpHFh z=psE5@}4*-BC+oX?jZi9MSgSp<#vblx2cX<<8KCj;(N^1=c|>YMaDIfMF{2|xaT;; zRO!p*iN+Cev#DX(aKSQHi`&SOo}VUQDq`to*HHnXf_Y8@*umY7L-KriPaV{B>oLfy zkdsZ+w;hWiYmzF|mg))HpcX!r`)TOkv3on;Sbrq)J!_;jw@|$<(cn1h0A4$eJvCr? z&&W|=3|5rNT&OX+!zY`e@m~ETXd6_KqxAfD;P9bsMgj{mE;XfU(2mfdARGPyR=kC> z{<{vGiY-Uzwq=VIq%@8!7o;0S1fwQUJZCUNWy*y`v0F|%-}T%4q$_IW4i+pB=;*19 zO6}%L0oVEnlG(z;O11JA`HN)7OykQZfT#*pB1_jMXn>`QJ#h{s++HTDj=4WIuNBYaK(05Wvnx@ zwZaNR1p>8{Z zRCqP=w39_ugcH)U%qxn9!v;?^_2Wo3iu^ofhu|591qJL7h6TFwdNZn=B6K*~ym|;g z_@D0l)6p>@8{X5KbkvJ$AaX`d+fCl7T}Sbr&`=W4@BVOX)OncLApFq(z4UOVib<Bq9O3LPMz%io8^yN3ScYZEII@=8p%PA464AS(K5`hA*}$JO)1zoww3B zo6mWHpDW_v?thYm@}~L0XIIG$x_el%Ib3nI@C{OrenN`N!r)q4ANgj(um}vrc)-RA zsV9uo9$_-1VMbt?7X;NzSUyX7h;P2J(zt@YRs*wfqm8V~0z$XNni4d&T>*eyG{V?> z;eg~2vz(rXG^1GcKsQm!k=Ky2KH!T~}mzObJvB7~cy7wi@f@(F;)?DAMUSUI>82CQ|j z^UEAqsT7s_=BrZIa&(h0(C49`RtfyhRo3!YGJ$K;cu2zncW3iL;(}gm`L@G^sYovn z7YA$fAl-9nOL!d?kJ(yL@KKtXT1+D1>+ZVjSxC$Xb7QjXFmSk8-4G~^uMB`L=JgzH zX6;tR7gIxHiuAvF@A2CRz(KeXF;;s;BQSO2El}aY87fynFnjM%tg|zGJ$odh+e_iY z16$w&4-^ae|FoxaRe=_W_0*StXxg^(Eb6?`iNnbPVL*$H#}W!~hBMN(oLb`&2dibH z#>?eqSb=uooQEv;Me@W+TxJh7p11P@jQW+3k*x7CMg$ZGVn59S%E*#L2K>m3V5fcv zPLP0gAt1u%PN#JT*0!ELRiRfG$AeShZu}B`76yN_)Z=B=TGUqm+}SFp{NQ31*Ln~D z*NR1imE({`Fl99Ml5ciL-!N9-)i&>Ql#0QPuwWf641{T5TZvabF}J`Uw-GqYK&Ej| zT(T4a-pLU8*G1UX;iHVU%Ta$%wXn}wx(x+S9F@}~dh_^@LQrUW6%vS5;8m;$p=X4J z$Wzp`-d@B}CdQd`H{^lNPU`cocOl{sNuso(AJZDCbFea&Q@Im&$p#)!Dg@dEl~ETu z*oWysowHN%&h(9`0LA+3B&`6IdCvU}&Yx?Cg3>(D<{v^c!bH-#iF z7_>@1^5HDK`26_-l3g-@EfmG)8GF6;H@J%Uuo}YU_AXOHZ=M(vMw$qMw7LeBIN@L> zRY^mg1rLe8ms^Ahw-|^lRqBgIv!t9dYL(+(7a{lsC;*(c84FGJ=?aQ}$%D0#XUJ)$ z-k`o>9uptHIT8sA#sPf>Kn=!ItIkmF#=F+>_*fISVflK-&MU6uYMgyo=>ex7v zh>@CO!t5mSI_;F+68$EK*U8CPSf_ybW-761s$XWVWvm(feM+R1_JZ{+&py6mC4hyu zS=6x!#aF<({~|-+gn^cX#o#X>_Aek*A++UviurH|1}NPgNi^cJ;Qz%OqC1zMlg5r@ z?_!6!dsE@EtkS-EC42sO73(aVU6T)u6bqzd2%U8qiiAw3yS5`bh+}4zYDva9 zmx!v7y1s@+acdzo03?QR+M4OQ9Pf)Ok{}IU4G-uRA;CM0b*dbr%(I=6#G0j9C)7}d zI=*r`UMmX!C>)oZu&BdXLZxgr0<2+p*;Y2p&Ms>Ge>%X6=Z$G}^!D7;$~fhk&TJnf zA-1Nh0B#|hE=r|t+`s?uA=7lvj!96s_#yYkAm#cz)G_%U`6szg22Mb`L3A(PtC(F~3ok?7f@JU79y2_3Wp@X{@@UZ$q zVKTp>SYaWDHB_zuKk~rqFl}>i`#O6g5x7g{!pS}wI%^H+O#<`vJ+KBGCeWM$4&O0q zLli{|VjJc<5+vYbZ0JQgiECE%h%rO7a{d=l?-*EDw|0N;*tWG}G`6iB8;xz-wr#7i zy<^*E+prCrG`inB=YOB`eqA5uTGyO&UDp`DffJ@w5U={)g1-?PzyG*jR9B+$F#kdD z3}cr;?gH!1a}2I3zT-`_EzRvX)9jV6kqO@Lp+rJQPmPz;upolGFs$%3+V<_Wf<<$-Ybt%v1`-&hL{mx5Eo%16g{s+JbfXLq_Sb{>} zwv7=k1Tm0MDM%rH{#i$&>vhd_dVwvgP~NRHlV1W&Sd+5s zWVwc>U~aVmbmS;kNe?-{4tTc4H;Hl%Wp=0o=e)X)w1ceRbtsD0X0kZ*!ZyQIQgop! zeAVS42E~y=2VkXBSfXT^Cr)lMQ{Mha)~!h@0c1;SP~GS%3Sj^H0d!?W6pO~`JG8AO zcZ|!?A|s*BfxHojEd&9$@u#+2jGH0css4qGk~`P#e3!f!$3;V{+$?Ac>hiyH4n50T zYI<2=K6~Q^G#lJs0-`d0i+})1DbGqAw_mN3x6jYNoG*0xOfd6*QG( zq7aKzr1cXy8ke^Z>ubk^(4Z$oFmwg&egG&7Y+_&)b?IcRzldSll%w1=+w?5jY1qs#F5<&eyqk1AcZxPo5T6K{8hBeJHuiV{d^* z^@3TEQ{VR*V&SvwFSGVK;F&RgOvt$WSH4e$jF|E~d-ZkwXyg-PSoiuj(eeRR{xrJg z3P~=6R24hW3HBer-9$rs>x9{te74ccu4}s2RE@ZddO6BtNTyLM@6E-GP4Z-GhHM&* zH~qA8*uWe9P+r-fCf77|sI5Ts*XuAB`(7I4K@pu0*<6cCn`%|hU#Qw2W@+v+@>%Cq zNDTrw*2WJgxVZd7uXeMj%=^zKK%PqU zG?BA$l{_xH6*(C-i=u`B@MwFpD22;~w(uN-_0R;BNXM4eR&l1}U~RQrZF|X{^)qmFQ2=dR9Pkc+O`++>z%Y>|H!e znAi2apl_nb4VHNPCN=Bs4~3^L&p-yy`M0iI6;^xPWXd!K&$DtPmc!2Y2_0+iDO7xn zoMdwSuBaYn*WWbFCLz;i4R+^N6q>wG8Hc>H=35;w_ef$0m>-g^3dX*@!}CQA@|t}m zgXpHox_BuG`#v|D%XAYv2%M_~ArY#7_etr*Rp3fKELu3tdWXv(jNoh%ma~DeBC0<4Ot#AKH*vZ&K|TogXS!;@Nf5x!ko%p!i}dtPDf&)cDTwV!1mH zXc=L#NSpfbFkIVs?YZ7hMc?ot9=-*mG1Y7foA$I!Jft5@O#&8__)d+Em(3& zMe)4tw0O)X$yWF)a|i)g9oA@z6#tt`ypy4#Mkv)sV=mX00gl0?vWXW@{axiWDFllJ z)MO|TKg%^@w#v3}{(i~YVWN{vX9RNDQrG1jfEojkD4OfE6zNoVyg=B|CM-vxCr(lP z!Q3w`Aw=o222NpXm~q0)BO{SN#8$YkZJa82o7z@%QwzOrv|H5pWTZtwE6BTFQj&(- z08M?o&kK0AdjxZ&$qT6)?pvM4Mco02n4NEbPmnJK!2#krj}j;A&jGgTF0>jU;iOcFs?s;#^Am3e$~dken1MD9JP~q}ZRx=~g~!_D3Nn73l^sjzbY~oHTM=D%;0k5_VzA4cdcJ zAp@nGU{>BCQt;;7@1hwglZ)}~|5oD5-ViIG9Gii193}?Kby1>R#+HBd5Ok-DPDQAV zl$L99MoUE2zdntqgoQk|0!j4;P#8ZHUny98`VKiDlJi3P^IYbxhI4FmIV8-uEd)D< za>%Z-t`;46UT;0!9CxWHI&63m?0KC|oav6oi>}XwOs@{1C-HEG8Vz&C)@qOR12+_t z`Yl8G>bj7~^IJTHxjElOOe9p%13s*;(g`#rM-+*-uj=r&{b$c!l1XPjiaPqrY=QZr zUTLG;wTYyp42_xoNU_|6i>A2GYJ6y+do#to z6C(?!P|QNu1g!Fk@p7B4&5R9YA9qfjdB>#w2jH39_Z@{>z?OXIL4rs@=>W~<8`Jl* ztC+a~smq2b0-o*k>j?9?pXTU?H9X$zIbqtaT;ywl+=&&WEDW-n31Bf4eSC8Kqr8BV zMTNO+Moi*%^H6i#n4f1^28qNM@omKB^Zb~E^6zFy@bGH#l$ZNAw%2ks(Fm0+ipipKE&=kKFHNklskR8i!MDz~GN-z79 zHyciqCS}nZ=GnpvO=UqG*V>VYZ({lNetJ1O6X3hv477eAtjb;P-`9j5GtGkQ{7Yr( zH`=71WsjFSg3Yj+yF4%*qPx*bo~RhJ^b094rBI?=Y=v3kQS5_}3D|eZnv(qlEmK&H zz1Q3jB~aW8>bSW?&h+yXyj+^-l(=o|@n1IMvmP<-4YN7b2_VH&7k32+|6b$P<4z9Y zIjL8M+XPSvpa)=8+~#T;FIasW9u8W|&)~(-dX3u6D_E`(%PiO`J6py3f;dW2kTxl5 z7*Cxbs<@r=L+K%#M?_ZCd#A=%kZ+^_pVQIb)I0&&c+7-0`*ms`y@gjgzM`eK(aM*e zg@XmpTxc%?E!x43QIx(E_=qbJU!{NX%Md-2hbV_u170c}%z7)YofsZ>8>C`6^U|fT zZ~>smMb>Gfi&Urg~DU6AF>M>W~?1tRCUQEVdKuiQ2g z`HOHyHHQc4vw2@F8B#P!9NsJ!ns5wLi{D2t+-!g^#x{uZqlla3lvj@RgljYIQW zEefXMib|KRqXD!+ok$dtkyWuaX$pVKQWk|IuBI>3bGz&%Ht?pG#$xy1*|necXE}WM zlWQ+8!97x}nh6u^`(P_5E&N^YF*Gn~fLdBPvVwqTT#6}k06}d}Cl>a*D|F=1FiYky zRk5jRT@ed)J&I$+d##$i@0p>>VBmK2KPeR{#hD;L#s4uiKm~x(c&C9b#A`_I{ z6|vAuZ!Ph|7__{i+m;9YS z7Bznc@mdoQior#Uo9>{`FXX2Wwb~DjSs-a0&xHnL*0x&kDk3y$fubCVSvkw|+cJ6e zzAccpX=i8^0i{^jx7;E3>X_{dtZWRk)*?p&CyjeCLlXQ3SU*&Zpg6mm)$kJ*KW`${ ztRXX3i%!ZWeuq2f01aHvTfxCto6d9`%xL2L1Z2ZAZSCpkZF?J~d~>G!<8oJ7$O|?5I>4ZxBK^_N2wKHO35TPo@XwLet)-59b`KSgqZ<+dpPce zvjN+|nGf<~ZAyD1`b5<5#INu^3{nEnsKQYkuI5Svpc@#(0U?B|11D)VmDdP#IjWEH z(e8Y_!ZhvE&J!lQLV)Kv8e@p$u#t7`Olw01XjVlX1?AKDQvZ|d5buBrk2~}WNwMq8 z5$%8@ag#n9V<}seD*u!yzYO~%7sMEuZ**eQT+B>M+j3rgw(?vAs7~MZwJ`uK(c%m5_p@1G@Ekn{(LY5b% zjI*mQ#+0O@Pi-Up%7NyRE1pjvQL4f$)vn#N(L0<~fgtc=9A^fA@wuziE&D z0$g8o7Mk6RZ7N&%L3~{yYY|zU&j_MV)lLsdOA_z!fQ%=dubjRQYOsa3C~Jsrj_Vr7 zCh6n_-}tuLDkd>6Pm%ApQNkl12z5jYZnD8dl%BxqraZmN!#GE!z%WtD6~2N@vH%oO3n#2zI=RDMf?fkuh=w8L zAW0Jx;?astq1=p9N}E&+j-%kQK;X_ZJyQxOSgYPR{)Ecr_=I|9wD#c>PLT{kOj8SL zjEE`B^Tu#xl@w}AuaZxjv0A!w7Zu%cc>;bF)Mo}(YD#q#i@!at{4BPMf%@EIPUH{;A z_rMgsz+R-$j)5o3ja#VX;E7Nvn?H^JQ;I~~v&1$8gw#kD#8oR1Q4U!Zcn$Z|v5y(- z4W=U}5Ah}A_5tB7eYgfv!>lOqCgoW=cn~+pzoA6OSv4k=bkb_WbgGxxGrYJ?_*rK& zNd@GlYv)SQip6i?e*H+WWlrWjJHxgJF(&ONOoIEl)}#Nxm3FfBY2@?}i7sn0qoMqx zORb7PJ@V8{=HMTN*`(4mYIF?|uFZvlqA&bAkm#Ol%z*blN1wyD1OTS={A9>jLd#+` z2!LHk0B47K7eF<*9N9-*bjn>AR$3~pC=~n!mYl3|bMZe1pkO&qahw0|sAz*OAtfG% zlpDAIZE>TTc0nFOGFk-4tXhTDNUFh_GrV}9&@=5W@9HaDBz=#%PB)gr;s)yjt=Rtj@k%Jh}hDmvgO{5uQAO-4RxN(4~ zDvi|LgN$ryXDsnj3839<#pDG=8OGaFcKR=OWlE<%Cs5zUX*Y9mE%8((Kpy}7gN%$l zc6_#GffFV)2r~q~Bww}X4wlTZD`{uAW)w0t06Z}p0je-zrU-FCi zNEodER#(T&5V@W&6e=X@>(*lhei|gorT`URzL9-8vzeSaA1qOSaSjGgF$Coq)u-oj zi0@UmdncNl+D>5sUFvlpMz$eX8KSl+z^s7iLVUuTh3E-Fw_V( z%jnKC1gSHI5w|Z1^NNl`B0O1=R>w%{7jbO@<{onqWxk(c43b9Qzo1dQ^8ev&8Z-Oy zbCi1^vd$%|IcMwt{PY_8+(eoVt>20#N~$5{^*sX~Vc{o2%n>6J!mt}X7{@`{YmysJFw9y82 z+<`qS2_f+NNA+11m%KgxhSkeU&M#T*ULcGM=tvP1y|nL%7|TDs;UHEE z&sJZZKST)}aF1qqJVyfrnaaUD3(pJ4lv#btI)QzslOk^^(?}s2a=`G~D#!l_!AomA zw`G|)$uE@~6yw<#=L}*lZ)&Y7!;JjOEMKaq@Y(DsfDyQ-P|V7o4R5&q2gEEaS6_l( z%tTZ-sx>N4AjhGX%P$F*${J zbU;#URue}LUqJ(+FN~moSfasC-CCB~#K*6mSq3a~csIu`Q1cRSldldD2=c*=ovEja zPHmXLYjZIGXmL(i>SZ?L(K?(Il_4EZqVZs)9S6Dnw>)(|!TDEixPJhKiLZqly~F-< z?k0{ZT&A&Z=O2C(jlmd{rqbs)^VMy)^OB#uuyln+Na_oi|L1x51Yf`tD1?Dd|G*9) zIF~QWi|W%ws?S}h(55I6M!jCY#kuHg+iv+`jMppp|4iX7M?rh*5t%2Mmh2sCp=i=M z8STvc!&3esa_J=7@A-%s#nVFUDKBb-DhyRJ2N}}b0nHx;j~|;SG>t9yZQc4w1@D1c zN+N}mTC#M=M_lWQ(A%LDOxaB{1#jac^F7ODj& zZ`2fb@~RKAVSg<+@S*sxR`z4x@rx`$p|x$bA@o(&v14`toG9`= z5r_Y`XkB;sk`;R?rm0=6=+YGd(b)cdQ5^ezVwjJK-&mcn8BvDR#%*^xW;~I?;e#6x zV0~YV@of>7BDJ+ZOHrjMPuN&t(Ve17E3NnX03)ePL=Nx(uCYr$JKeD-G5&l0N5H*y26hdBH?xakrr zf-mW&hd{!rP(ykcLmBhM{7L8kC&7I|Qmk_`7LMz6wi0^Be$M#V>|mmKbSGAm4G726 zgq#%{{aTYmash6t(ZHq|jt@ShqF9l(n>Jb}GGSWNc-_~-pm`ud_RuY#wX7f*lnBC} znLi*XY{9`Rl8%#+JQK*R=4!W?z7K_Fd|@yGVyds0K!0xTqPsOgKXeXG_y06)?RMMf z$ghxoB7!8==SF#rdcv>swonDA$-hLAp?=PwDHRxU(+K-zvc+OUWWy&CER#GSg2Xj6 z_^`w^1F50Xa`(f`Yx1J+sV+F z)fb6FWxt^f)J~rv2d!RA>AA1Hpv66J4g7Y_1?@vr{F3=Q(k+|i-608g_vQKMIz2!X zW0av6jMUfXR5O6|)31nVh90_BfeQ>@=SAp;gMjZV`%`wRV!}%$iQsH`0vsxJxGQ(! zfX|%aq6v%SS+0C{)08xPXyBRnz1w6Z>0l8R$2F<*Bcuwn2MjwBC10Q?L+~=qm44u{ z*n7XFK*9gIvU*c#>$S-4R9O^0PcJN~0%LYjYoj8k0;BZDPU2jCIsqF+UCFOKCZ_Mh z(WiLLp$tJ(%NWKS5r^Q~TkZpz;6~el{(|0D5CqFIP}#5(G3X>xsY+&iN?lgc7Hn>#S^7L(!$f+ZnKIyJy6yy4{rhKgS03_3LNTKO?5sSr?9u9(^ zlzR&d*NA7?>>uc1Zg%K>w#y5%JP4O!+!Oi-K>sEcHuiQK*bOwV%zbC&Cr|X+ivTT8 z2a1LLDTXPnholjYl4Q?bWeO@tY>R*KW$us0ftP*InB+wft$y2Hb8>nimd|l!{>Tnk zo{-rMxb&$f3q5u49V)4=MIc93*pK$R*3=bgTyRWqbX=C-o8SKRpaM7wK60f1KS~hw zv&bLzuKx%w*_VQCd}!;g(>PK=KzKLJTMV51f`z%75$kS4G)msFo}J0u2$97W0o5F% z<5xcOwx8fbD#R8la8 z0{6*dV0dVioYkbvy`4Y8j?`K+@+|mS{u*c(QP87WF|y4jXLt_C=C{8IguN~6|}RN3|!0oOu_%A6>@3Wur@Zwi_6lT0;>RI)Cc#9u9Uv$*iD zlG#Bfa>{2RW}d>8?a%db|4fP4rW+k~Cj3CB&ojZr_b^T1h4OmN(DMAV0#7auxKy~wBipKM}S9}k@9({RnI+9)&p64YLM?#&< zq8uX%p=>dTdExM_Ah0+>WpQMQ0?LR&_))si2gap3_f~F{r;|+!RCW8PQPO=UH`-N@ zR~Wy0Wpb#O>@_*`dDMT}8bv&kCVC&_-om>ZSJ7(;@qK~hi0(y?S0AltXIDEoZO(7a ztriLK&Js$WNjI_L4^uxzDIpt@fh?QS+GJe43|8f_$?DAvtO<7GjqA+#OZMf935J}^LtEp}3fNA9V zzWKGUVY~1%6{{9; zaZ`qE&7Jhe3inH%kLqI6hd~dBsNLA&g=BR#fX}1<+j6K3y7|pBR4>nCwvm7}3|86Y z(@n;^dUKX5#^wLG5OW_S>Rum;lMqzu-XycfOW$3L9$Q_zy_BSh(r-~#-(9y;vz2gG zEq@d*L&+X(y4elHB~U@-E1KZ^(}*h>=6$~4s$@u(SkN4CYuLX|*_Z~7@a~}u+=niA zM931aQvi{F!{iBJM9&^I$zQaEx0Outqb)VQXalyajBK-_w(AFOqP;~o|- zWp?uM0kqX~QAg5#ogSP39MRw(kPHDzaNd`ue7C!toAd#FFIX?3T_)4tNS*1IsTtZnPGe5~c#2Jov%-;4hQZhG+~%wHiW=G< zBG!GL85Mfdx@ESn?3h;h0g_ zfv3vl($kfNm5F|l{MN5FFXAZH{8Oh%K%d(Zavj|ANvV-^)0d;? z6ZKq>;L`q>cz7oa8E2@(q*X|8A!L&Wm1}h-U?d$c+ngQ#IP}D*DEw}t z)ja&0hZCf@`G&lU#zfmW?HjtQ#RkzDf*KZmsfg@Tlo#e#4&k82FNR)R@|M~Ead3wMR}{8nl#v@{tn_!+ThMcq{5KQeO8PBy zBeo=8I^hlPr{f#NXJFmBJ9wUc*1D0>43cP6b)xXhLo2}DPMYf>9e_b34)L>|TieDR zxdPFjDruvcD|Xe68+vRkHQY1wL6c=CyGP}xvRouR_itXAVuMi83RJx z_*`Y++?B5L?QnfHIkH)I?5h40uQxj|0bU@4#w^Y z#Eqfummt!5+pY(bh7UDiw8uV*R)%d6dQDBkDX5E=EYcD|_zPTHlqw<@zARSUs0!x& zH;^}7z83e0+Z2~du-lg5lfnbaYs-b#l-O)vRf~hd~3A@9rT&~(DGm*6QP)lR+#kqBJdEMX8x`W)yLE;N}l)XP!M7i?MPR`Z9NVf_0*@~uFqS` z?|qHJz3ilC0d<~q!C7`vf2=d_91tf+6w=f;PvGuHN72)xYaFr`{YPRbZ7T~Egz1MQ z)Tkr&Kb`gCmDEz7D81f&<)U%|06-1&pID~0xX5&QbwybzD*dsD4HL)|ZZ@3H92k<$ zd=0VlaC^0PX+hLf8*^p3Ntl$t+;5v`G-5G(Dd zZaxk+yt!2?z!EJ&O9UE9UgjuAY4z<#KJgU}zNu@xs3iq2mN2>WN;*GAkC$?92$HeYctVlsUe=Kcx>Q3l1PJo6ZDz7Bdm7YON~PhM^?#G_Dd)G_>NfzCHg z9@t+IS~KKRb`bi0gKcdclV5JNC`1LZt|r8bb>we~03WkSyqHx6mZ&ynz^X z$q{Ei6Wxct^~!}YSR<-e7P`KXAD#^6Blub}L|wmrewaX%+=N#rFvkhg$*mWr7Ui2` zdoX30+yJhV$ehcnQa0J-euiGs)e9m?>uQW{MIjBV2K=?+t)V;X(LLF#{)|Xv%{`YS z_7=xVN18d4nU1`{hFe_5Su5p{B1_6SM~q};j9W{=12ZlsvvQU;NDZ_I(iZO{ zQ@d<~bg=5+{tB&l0CQ_~D~=yEs|&#pieu`KWXq|^N#!_dmoV!1JD55VLPw|&T59`3 zA`bIqAu=yT`SoupZR=>l*%47v>Run;7NyW&nd(Ub7RoXIfwysI_%eH`H$rn2x-^Y0 zg*DtSUKEfy)A#$!dY%niZ*hx5lz^?Mr5Swppc zBbFCH>~Rnnoe+!l>)0FBCczy1C>}pVVA3oBQY)*q7fvnK7rbmb~2(L zdX(En?4rX>?E0&N=iG*8jem0Gy!$obfzn$D*V89)IrJ$=oi38hnId;7CBl@{IyB1& z^q*kG$ zf-nWWqM7 z5F8_Fb?gTObowkzqBf3B1#L<9sFoy?n)&l&VxJXYmO5~=RQ{d4#Ur@(49G3_dIUy z9x2L0dKehH&-D}3thHXnXWUM698&UxM0ne~@3!DH7{?CL)gXIUMKViEf2)s+rC_mJ zhO3H{G&Iz?V2Q4pwCZ>tLo|1vHWe9Hm{;TalKsMwUNQo@YOfm*)XkjdMBQEvf{GXg zea+;*Zjhb}q-d4RmSQ%^{Sk4gh1a!`1`S5*&3c~19SUDdxK1khRj|n>S3sMoB<<9WHea~ts4&5eWJ2(iM0<< z*UN&Y9!@H+@#Sz=bRkmAWie(8&Xf03`jHyTz(%Zun?j=@=>cx^!I$brW~E3=J$-mY z7UYsxBpky?On1YER+Dx>Oq=lL*V%2}9Y(EqptCkvN6&qcGdN&nH$k?P`{Pxckb%!) zb>R_BRO3g|Jb^-77XV!rgJxZW)!Z2WGyQ6lzBE5m$o*N@pd@I`AGmzO;#pF|G4^v+ z2oW_`CIq~?RY-?Z(Emcf5}qNY>%90GiNd3)0|W^Sxeb%T_zP74APc=(&;te$xm2)j zs(EF^?&W1-`!p(JV~G&^_aQm)xlm*8+YKY5wPm~_$YV6FtoWZ59Qkz7{K$Ky@_Gx~ z6UP5nQd0-3m22gL^yLsqN)b#*<)96ndRg)S6skTZ%3X)hfT|GaqhG<3X6K1$nADE$ zw`rCm44~Yul8#vs>;P^B^owd*&J>Z&#LXW)e@$Z`ldHZZ+Nhy34Ex&O(%e-~v_4BTNzH~pALIndiSZv6 zSYy8M=){ngH^VF_(am(6_0TR_n^;!oFjCjB`|xtr!oj!SKWDe1wsleNQhI z%N^s$f}EA@>fMZzhH zg7u4CSW(Tl<5N6i98{pU7=oh)5=l_bHxuR0tMJk z8cO1?^#4}OLTA}BRw?25QE@sZmHim*9s4>}G7?um9M>yXu-w4AG&gu5swVkp!H)~w zd1RuDJ1k5h03V$-*vEFQWgu20p@V99U?!S<9zYO<>Wmqt8f{k+ZP78siKQb+xXTN} zz5VmME|Nx#Q8R{)p7ek?A>j`xBrizxb>|iMyGyBgNn%tpvxpbk-#kV3qf>W6NhXJL zH1~UL0W_Ppf($!BwO_+w4MoOpywK1r#u#QqE&e3~9057qnV(qejqTVL>NCde-2{o$ zoJlH3(x|*8B#wLNUrZ1ldZ>ql^A^k)u@Hs;S|rY@JL-TWJvRMgKh9^nDn#ll;}1n2 ziEGuu)hf}GaU>@NH+e`F2l10n2m`(f#_3oGZ zMA>hB=TlwjNV(-VZo3=Jd8#ktDlR!7Lb}6w>tk3x^*^tMg&J-!Q}o&n;PL9&IL@%~ zGq5MG2RbCBw|~Cp>WXbn;*-S5m^Pb1^ddS&{%7XoB=7S2?Qvev{NI6vv+vZ?w_6*~ zI3L20Zeg(1jR}mm*Xhk3{g9oKkQ>-85*4M%h$t;U@@(d@$A19bu_{g2^gA1>N-H-5 zIVCwZXJE#0EeB)C`$o4nd>8p*2_>GL?gvMwluF#MV~2{F#E$Wkt@477MNszb+N;0e zx@GX-nz#%?HT7_FK&(D9VZ#dPc2Aoy1m_(I=j{;q@~rt z>B3Xr-j?9ULCl?EFgcKFw1|mAZCm?=(`0)E{wm%)M8-unhhn_m$t)WJ9S5NawQ^N- zoxNq89;S~g*TPqzJ)BC^+E6z+toP{aM8?upRd{ryDE&kn)c#Vg1_Zgokmmu6MX1W1 z#t{j3>18DG>tS)R9@`i3C99IKEjP+-x(Cs#u%eBp5#&5bgZxENYeJhjh9zR~mP@8te&4F=my%PC_;w?Y>P>)Y4lqtk974 z8maxIbrRFxeLz&h9}ic`yw=G2C=+aA8A>1;uMnt;v{(J}#CW7km<$ioAwtj>YY|o| zwFo`)MuCs3f>KFSK?AxhFa$$tQZeRI`fs}eK(Y8sYQC%+1UWh%ZjUBt9uyxAH|smi zy>fSE0DT3L8R?*tqnC|zmN2f2L)!~QCcq6om4&J4Q0x4}O{v6=rQ2lulz%C+cAd5J zDte45caX^vdzju479@G@>sn4gG*v~*?W%; zrF7m{KO4WMY3lqnCx&QGR_wI)VZ}N(xR`hpoXQ973V9R}>@;E~K`}Jwiy`d7@(L$7eQ^?s z|E5R_4WZ*P_x1M4pNk412&2@Sdq3KdlH1_%=rPnd01EP#EF3ATzOR0+3WnR-N4TNn zER+^OdHvqn+FLH$GxcN->sf7_QmjAJ7q(7AyVrv{m}?KAXsoFsuY^o?7?bj(}^xIVkQN4Dvh9U3|?F8djWyC8D?q^pl$Uj|tFS!%X1?ckZCo*Wk($yyX zGKSe=VgCLYqhA!3s+M}7LV~yK%%%+^b&wP1yz^f=g%KIFT6|PLQSF~@PXG-6YDkFO z*v|DSX*(wo(8>YCU6cLWU04uRn~q<7Lz`}*PUc&CE_22U-P&PWqkS`Y#?W=2yR2r1 z>xd7nTw0hko?QGU{L7&$A96W7xOk>99XTqV2<$%U>jxzZdjqMrGk61^|Hbn_w$wJv zd0T!d-@~b{>})B|fgdHC;8lE8zc&nQ2I=egRWEQqyatVMs1PPk5&y=91>ylK<-?4nwM%Nf z^{MIa==>&e8po&U(lLWFKf<-*c%!Ru3vtBv&Tnz2h7xLYIBqb*_@$46DFI^N*BPiD zK@>#9t?0u-QdkfWLRmWMj61&=g5iw)i5u5{k-3l_xyF|n8!EIl1`V_t+-SnUH+%O> zZEJf|u-P5zD&7`fAs;O%;^m=z(C!xY}SX2TR&DL`F+?1LawH z;xE@npnViDbzu~s;_`|rv(kSQs33CP?_G*L{FbcLSa+lnlLKWHLC@VxEZerJk|PT% z@er15!sIg!MGQ^(N9m+I>Hs{^7>T0}c)rnRGuU3P*o&86qD=qA;h9 zLZ2R{b@&GWKnK1@-}YebLtMRBQ{+-t`!ZNU4)5SW2!CU>l#MH!&@oAWxmeh zR(Xiu&>0@iZrqVFu+v?sa8A0->%$dKDTG~>h6a=EJ3&?^fg7UU`(LJz6RwGNE3Bfh z-IxA)tKj6wQ8ny37+?=DKnk^7IX^>rkEP|KyhSp`>|&vdZa9@bX(9kbp?FBRkl5w* zh|#+tX6S+~qw&|j^24wyU%-x6^cgoN%PL9M@ls^}g{lcwe`nUBbaW6Uqa>GtNwbb zx~mUO;f~@jM6_)Xp|6^G1PCIen-K@&r7}4oQ8yY&AQ)R(j5BRrk|%2}CHbcw!cyX)y9IAGVNm@=vpm&_fS@hTkG~PCW#~(N@IwyM4evR^z z{c{QJdGACJ<=ob{d+^_tN6$t$q3u~^(wnK1HJbP&j#BSSGZ36z>#KijpTh+Z{Y+G- z82}g8lO4dy7t2XBlO~ik@Y$DQ{8R zBh~iYq(ZN_HX6+I0zV4T0OK!R>mcty2c`;i40dd)5~Xm1sh4Mo8CA+NJv~5VPUlQo zCxEFdT&-L#3-g0t<6*-u`3j~v1szJ^aUMmDl5X)1Q>IF|R}g;MQ9YUvS@@vn^7EJ) zM^d{~Q`5bz&x5oWB7YS)4D`{^x#G1jqG9CYaKRTt1k;=^mVx-19HdrP`oEUPo2FE- zgGh2hntmb_ot+Inu?nKc%l-$wun@vrggvd30JD0`T8hjWB zTg8g{X2O9Q+L-A0rZ{joJGL<4;xiF?9UMO$&aZQdKO*V%Hv=42U#y#LJn*aIQodWC zkU%q0zdg7?696<+egLOulQmHES}^9g1buC4zPs zZ`HAKQao=unVO0BzYSrt&oDCGXrvCBZ34hzJI!yUJAY$V?BbRXavoE1j>Ro#j6m-U z5`7*77|*xC39t97PexaKCLkQ$+NmOQ;STlChnl~aQX+gh1+TNbgMdN>=V)UyIqY7v zO43!D) zH(7o{(2s=clH`9IZCxiBge9(DE}|{>_<=(dNR$mj_n)_^@#`kvWaC)i*R`0m{nc^- zru`NBsDA+dMhkPL%f5{^=D($9vdK|cd;G>eA6M>%y?c_3HUAOgLQt~_!@JOumE@2r zraWH9Rlu%Za${EdRL%THkj7A`?v5#aEsm10IcPf@xftEhru^dNohX10yY!MLLxeFt zL>woFSZ8z$W3oZ*{||u2^`1@)U*tjT?FH}IlL}Og(M)WQG1-<}+n$AagcMZn;CoVE z(aISEF9w~0Mzm8`KzZ2PNlg$fN<#UAi=4~(|a^!@+3BOiPBifRdzqd zyj^dHqC!R}svVSL-_kt?RdKckY^N6eY>If_=*!EgNPIXKn^#%p@7{~urP{GCbIZ*M-a zZQHhO+qTUPpV+o-+qP|^<8+b^Ivw@oobNgB%nvj32UM+EweG6AYk&6M7a8IZu&5SF z*)`uM51WlvjK$eWaz>a!JpH=}=@r|QGwiRzk7`~q(l8E{KBNn=n_i*zWW=J8U4q#= zc!L&yQh@QV`A74sve{VX6}M7X8Of&1_h1EQ9S@f)P0(#6ODK8u^zvFGM^Q;rVsp)9 zW2)+(H;=`<_Gb=-AUF@7AWPF`HxQjM%^D+fs^9?UwY~FEaTkq+soFF;*=i@8#)0_zzrunOJ+>mw|2ReoKJ+Z#IGDOv=#$BS_>7i-d# zEoWuAXL96FX)ux-2jgUxa>@Ti7{Rjtc0zk!=_MDIdYdvn0hnPbH1Gmf_y`xflm2?$ z=`>oTxf_+dG#JFOH?sN<*{HU9 zP_XDHlK2N6wpB30frj1X3P-r<=8hTU<^h3ri@J_qMW#V=`|3SchJo(lp`}BU>$Hqh zT1XtyC^8c!eBe^%9Xn6u^dzS+i(7Rd9kWl zHB}3@2#FNhJ(@wU0UFV=d$J$;jsm&U&%c_Jb_qn0+^mjTP*88c@K)neM4?jD6G3g< z=OY;z*qsW-S zdLN-w6OPj zRjhV&c7%qOo&0U}%V#)NM&=22R7@K(e1Eyvw^3Ys_~CLhA<4YP&jNw~H`T#39HlB< zkGloUuhw+f8qy=Is^d=*dF@cK1>SPc@3K0|&SiKM5vhkbifj7Zou)T}F`8ynRP-ex zi*>DZODU^@!T+TL{V@Oz*xp`mwY#`8PK#8h&)vgT?~O<>PlTJz;h4bRt2E>kw-i#qLQ`rR*%D*} z$w9BpW+F&4EA~b`t$qTE;4zcA3U$H&;It3bHOl`0!V=yn=Hf|RwCcs>m=lm~RpK>r z49=KiZ<%DbuGLcx91$+Mz-3?!M)#3XYb8SXQ#N~CnliL6nsu$9j)rjb4M%%Do}fmK z&gQ(hl8E8Jd%o*;txtAV&DG5-1bWl5V8bc>Rp7~Ey!2aM4kjB6Q(R!dOiq|4Q#qH;UQ^ zq{F@v3l={D6@K+am1x#COu#UicE3WsXOd@uoU44{PtNGmbaX=mozwf*;n8VK21%Kv zZ@W4Kz_xK__&4%B4e$?IBGp!E401BIw$OqtLucR|Nj^v!iU*;~u*&?yCNil3(99>P z*;@E_057HsMU;G&@i<>ns|&bM80G&q+b`8!R$YX>(3{Xq6q=wC>>Qr$WU11SGrkP& za7KQ4{sTN6hP<$cFE2s1>WKUFd^)c8()BthPtWPxA?@v?PsDBB>x%3Z($M#2pvi~x z}}^PH3{McimdFoPfO;BJVe(WMIXyHEG`aFA5Dq)Dy!0flG0#2tj9|9YkxT| z*LjRQfHtbtLCGWTVD6_-_CHOkr>+*r__K{N+*QS`{2uS_CnYt zw{m=3hw%}KO5SU?yw3cwOf4!h?GEUT7)5}`rC!YHK|0jy^5~6GgOFZlYtErmRs!=Q zt7pe8#5&)Yvyats3x%ljM0LP?_xiXBjE3lsw%(B{&PKovTDjIK!H_l8zHPkBSHClU z7yPDzE06-Aa0^VGC+AsKeW9s9m_pOxv_YUAkehnxXd1ilR77$;deWw?VCCdj5Pg*? z-fW#hZ&`xs6&FD`@L?5-w2L#n7Ka{?JIRZ39A}D|C1=a*T?->c$s&nBK4~QA%RSuB zSpHIx-7>BtQ z=Me6%pqHN~!9k8N4eqhfju|ZK;_FM{vR^e=J_VLbk5#6{Avxr>VE<5?XP+!LMHzmL z^lmb2ECDMyIXUFRnT}2@;$n+BYA?kIYiIT+_`*ra6jorBEy4MuK9MlUi=34n(n$uU}C@^BA}2V}cp`jYZNa4|7`P z;fpAXpA@`EKPn+boW8)-M32E)Xy)E$SJc5YxxzS*XZ*T@*o?$fR09`dzx`Q6nNMq| zx(^C)DASKv5aYVZdNpitOjOCsxw7WcvwVwIWf+X|M2Wo`->ia}q@tH;*5Ac2^v>DV z{bpTA6>_|CSP-pUZJRFZkDXPSs@=d<+vnBXR0K_=1Qbd*vQ0cBwuh zkZn+sOu-I*YrmOW^pd2r;P-6ld4vxblpwMtkibnjsmt#H3}f9w?gCAf75`Ebh28=T zmJK%=goUy%!%h#g3v~kGk+^d~W13+640paSA^XzW(WSfsDs?Ff2;A=sVOSD~ID*U! zPVMsWzbtXsch?T!{wK^C3k0f1PDAxO52wqykd*~ef`3&BSqg{fVk)3|eQz&tg2&+F zPr&zJuvop#@K@)U(qSe!e>}-bL)|10lEME2XwLt($uNLW=gNl7#-8%X6hUcP{6Nh- zjW%wHTWMKW4PV@koV6pRt)L&%{%xoJR~{b*92N6??AR_x0Q`YsP{LnRm05L?8j=+N zJ7fK&r32An>D8n6Iq#RUsB20veYA+}_-Z%tQ@NWb$ImlByhyxNHx}+6;0k`j;%IAB z1l&N*?8kRvDf2i-t;ei#0;b$;IiY`y-T{WogoS{OgsK6?sMv}92}hmWBU)IIcXId2 zD&&m9CrlX6^r4^TW0P%fHi7!CnI`zqxT$MJ-h^OQdElDRfaA6hL{xb2BkZYxc$|Y` zy$Rhgn(}4Y>mKwKAJ*5I*$rBFO19QYxT+a09oh{PK06IzPO#I5@Y%kizSF#f_<308 zQUI0|6;u5;BvxFB^*0KJz=j4R9Xb-s`H{Zc1Py|k89IB2cTGAe2cy5ngSskD3N%TH z@tZMjeCw8a5<89iRPIu4D8s#Qn4I1$pDG9oAvizZv-{-31N z;8$TNv`1*;Ly7R8RQC}afQoq%_S4+|ax#vqq~bu=dnp#1O|mub{%XVJw{@=}{B z2u?DvuOOo9deQ%La_e)gPB~Y!>WC+mD0bmA)izPrY^Sh>PmR zBxVxFRV5#Y9GPNQw@-GXG_^tTV2Fb&M{I1h$z1@}YeAG=V-nX8PbA<2Lo5HA~Y#Q_@BhJ;_h7KxD!fPzlM5#PoH! zAAZ~1m>Ycw8^obocHarc4Ss83sA%sjut!k$bxEg1UbAfRAqC@ezp_7 z>x^8U1cuN*AERx2_`scE2eCD4j<8#9CkL2O(P}_tMF_T+BQo=M8mX<=wZFuKy^oOHmJBH(n10$B5YU0}-Br?)tT@B}-!F$6Z{yD7nkRI& zp9npI9J^qzN-l4V&>DfW!28?sEU#_5TQF?i3mMg^9i>IM}v~FlV6$RX_^?E;pZO6|Nowke!WG?dNyz|Gig#P zkOx7GFgKmyOM`w>lcWy?Fu|%PUN+~_%68@WR7KFB62-ym6v84yj2Z}}w;DAMsp0ke z0#w5*_t)28)U8~^&y72OYzUqpV%SXL-5B$^|L^BZrjEkyda{ zBM&-D26ENOFF9CR5dof$JLYsZ52|~ZuYlVV?^}yQOxM>SA3;l; z;g>){)C`?1uhGk_FQf4Wiz7D^zwFXF$Lz&J1otK*8;AW0BFBP87Ug&d^4)kB>iP{0 z8~#vku>jS*B(0DkIFVSJZzJf=Lv7RwdvJd;Q`K-_A+IPOhUvBE4C=C#c|L?aW)I$E z>z0e_yaCKf|#mvF>$8iZ88b#RwB7;z4}Z~yiC>(GfEnzK;yvG z@uiZh4^FwXW0cz!bwc!QtO+8lcc)E>SxX6#Jy1;KoSTq?n=f2^UOp^v=f%h8SEh*x zSt7NDdrP6K$&i0>6`yDwi(r{i{Y_R;8_>OrWap7G8>Jk` zsCMyb6N1IKm#oaq(`PS)RT%9x_`$`^uXvOm*#@Oai6TY@O~*LsA3g&3s}Dleo@HOZ zYSDf-zu5j6`5z-ahVJcyB%1oh$worsrfi>}KZ+U3BKLPd_c<_- zpFV6CpQ-tKG*w_og?cRYmM?}%S3?zX@^E;M3JrDg^icT{v>dhT<|zzdtHba1fMosP zsAoa(3qW7{RAZFPm1_w+V>E=}W@IT#E@QX+J~LXCMPm!(h0Yh5htDh%W~d<{fBCu( zD`uq#0*F(nd|LCbKh`x#*|g&w+{VtRcbsbb5PJ35WrhRLZ9d{m9qP?+qZTSp*4w|J z&_)<@=@rZNPQx=0hO`5k)o7J-_~oVDnKh!Ix?;d%qQY+1h6SkC8!|IDK6nEH^`QnL z%@7qyXo!X$9DBjLlBXmhOHW1~9f_TSYmQVx*En9EPnIw%o@j9n1-nm&-2?VP1;i?E zu5$hsJ-8bG_r3WCP@{S8ki`;4@ePU1zu$v>TZ;@0nnphHiMm`BlIqnl;QCFm4NSmR zOySFhi0@hB3;+JUY5jSGQB^*j`?>(=#LtJLu!MGPo{#nNh7t9USic&DRFeuxO&@Zn zr#+s>>8A%dHdN#K?Nh8aJo|xztP)VQ|M&gJ|26=>2@PZ(eJ9Y@K0og3Tv$U@N!7en zRy{!9q{XFZGMvDgPk`IcSFs6{p>`agHnLz^6l9>orYn`(4WoHRN+W*+gNeiKbl0n> z#o36HP0Gdmb?xVo7X?}SSi^Zsr^B>DTFG1^hheKW%_*&GIh{!iB-X!|?>wK6*wNo% zhM2Mm_j?7wW0aXb;zy>Ccl^HkLcXCeW$iIQH{n%}is= z#IZxswQD;fB**sm#yCAe658c| z0AwhXV(!7=a~un~ZtnNN5(dPc$*r@2sPR4V(@ozI`&f*A6jsfdp1tCFN$VQi-J_sE zxn7#$1$~D8!tj+L76ji!bTB{H?2#@emXr(%VC^8!8|Vrc782yTuc#u|w{QgX#ObhvKA%0~m;Qp`hC$X6n375^UhHaj12{jwrrU&(|Ea ze`vv)+A7Z@2A74-1TeRO9eLYR*SAL3!2(T0qAC*TW#EmwvcEQRkfA09xIrGI0{);A zk_%L=Xb1S zF~H@2S`$v5`IoGmKIMOXps@Q15%$v)^~3LI0Z+_kWHA!56LR1@tWZ zT4M^%2a%A$3U9T0&d%@ksZ$;}S=+Te0h9Ud4nef~dJ}kkWk3*738r-X;pBmqZ6+#D zY_Z@96EoZ28QdbM z-@Vw&@Dfqe73$fV60TMBovGJ*Y=|NwdL7K?bHeU~9U>J>hj(eC5FBu|I^ZN0YJ=pq z)I-ANGo;nvu(!58KD*l(ly4Aq*?x~Jy%(0Pw(r*9L9MeF8s3b2TY}i$G`0(VQWg}v zj;iBym$}X|eOOZ?D;Gjq-*K{wQCkj%!frv1(G=#fYp9PR+miT+;T#+a>DKymxq^bk zwNn3L2lKOBLj@-O15}xE&b7>q+PsY3xAEfP)E1GX`z3Oln=y0}$|H(!)4`$^6M&gC z3wzo$Jd>P@xXCT_ptFw_ow+Zj#W28!Gj8SE9fOF|ZBD*{}ibK^>{YT=mQzav|F%hs*pghf?=G!wHnh^xO>-4W48aguT)fmpex`K50? zbihj7dy{FrX<4h{#G&nuS&1|z&8KQnCnO0CCNV|=$+{W31Cj#GEHP>lmhIa#`%TYG zq8~Ko?SiR#`Lvx_p;0B&vL+DOBveeI=o^f0r&yXGL!MRy{{U`yOjC3;%D|v_oCKK5 zZPBzdOS&>j&erK592PUTIK;+=#BVb2F-aar#oNeoG)fx5C=($%zvT3TVuwqU^|Dj6 z32lwnC%gRw_Q8=t_cR0B@ovGXK@LX7|VB@Ulihp zB*E~+1*~Nkh*oI+c2KTm$!E@NvJN*q;~`YH!tYqUskFrl_RSc=#iV3qC%6;gvnoVq z&ZF{8B4`L8iwL)h&-n!VZaM1re^awTr{XY%#i1;Vqw8Og-xT)AnvBV-$MmavW7s)b79+wj+#emO z$If4R>GzGs&9!UcEK^SPa&LNu&DR_nxR84sZxl0J<8Rpt%oE%ALXIlS7f} zf;J<*r9N|(?HIr983@9jp!bEUH@AIB+70>2-R2b2?dOMRVv=wdq}v7ws&L2ZhF?14 zE5VZxZPL|zA>%6Nge0r3C>a~$N^FbxND1B!2>HTs*M6GJF{e2}maZIFn55*cHCCm0 zs*RsVm{Tq|x#wA}Iw@8&X2KYi3{6h}8_MCWX|2>?zgq{zTN4#P;N_50x?gD09$?g8 zgVhMx0B zQmGXM`v!feP(b7|5Y9*oc*T$5(M9U-cVhA-(o7hmn$Lv(`svHXP69#+r^5VR@2<{r zZGu~VMutwe3BH@%*jrn(ILxIB?4de%&4+6m=wKhXjxvX`gKjQ34bvT4=KX8qh+S8* zgNJM~)bYabAfS{!B?9zahU}qwcViCqRW~28c81n82=3e3FfB7;r5OkfcLaRg>VWuexiOu=$<(XXo4|@3ERvVWWUz6T;({A ze=ELny{LF;7@V$R%ishdG-xDC!PGA&XJ^BmCxPO#de1wQv5^cqsMCZwIZ5;cjhrg= z`*Vk>R|m@X$4ps#iD5;h21?}E0~Y1}a<6DtL0aaH07+zf{I^8La4tuhb2N8mDdhw) znjY|AWiEV*c{b&DR7$Kh#FaAw2<@M&SKx20NN89Xsl4*`H$pi|Rz=v@q!p5|{uL8O z?Sx;5dD_^;1!98q#_=-NAREH@GimdQFFPZpKlNuZ{&L&MGUd|(8kSY!K_87oJkTWP77OO`a%BxPbkXhy4=ucM zTvQ}C`DMuNH^@fM{4w%&2#gqMH^aEF6{I=g+=L#nk<|8dMd6bI!Xpjl%LYbW2dg;t z*n;&G@g@?^F{nh^vgxI#(1=)o8Ztx&!Hs|sxfg@%aK)NG{k$;{5=LrP2YnAQ<5b|U zFn;cKQD#iRz~2Z@ikTCE9?Il41mq$57ORZx&KRXe_3g9vw32s%gaQ7{+ zgsrCE)OjP#o(|{+QBgVX{YM*G2kAAnMLe&;sSD*qy?L=Q` ziHDtltoT}WA8|;M!pJJj>h`HfZ++OcvbaeQi|d4FS4WSM`jUQ(R~VKx4XYQ@-;{97^?mnBW6Gl2DBJcFR=ygh$xWkZ_f!ffVCSX)|0J$)s`Af`T>e}&LngZ*CH2_7AY2ShlcVN&T^0SJ0~Gr zN@C>56m>QDHvC90Q`Z#EdX0YGC68+}FhwQcjt~ndD>9=%YMYqx{ zf0-2RDO!BllpzGG%KCi{Zg~z_wMWLsXZ~kb`3=(h@2<1CNU8TE5&Ko-kT4mq)k`I+ zUA>te6)Y+%>p^VM5Sw&iw2%nl?

HePNbV&(%$jZVc|5_5Gr<;_JkIljy^-H3e+ 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 E0Vc#}g8%>k literal 0 HcmV?d00001 From 44de66dd2a5a3954ad544096e2f300e0fe7efd8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20P=C3=A9ch=C3=A8r?= Date: Fri, 10 Oct 2025 15:18:38 +0100 Subject: [PATCH 074/209] Create migration to symlink systemd-resolved (#2313) * Backup file if modified since system birth * Symlink /etc/resolv.conf -> systemd-resolve's stub resolver --- migrations/1759355846.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 migrations/1759355846.sh diff --git a/migrations/1759355846.sh b/migrations/1759355846.sh new file mode 100644 index 00000000..40d0098d --- /dev/null +++ b/migrations/1759355846.sh @@ -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 From 651025e3e874e58a0e28b6496750e34f133f93ce Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 10 Oct 2025 10:20:25 -0400 Subject: [PATCH 075/209] Add Walker clipboard manager on Super + Ctrl + V --- default/hypr/bindings/utilities.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 6b20ce9f..4c694609 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -1,6 +1,7 @@ # Menus bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols +bindd = SUPER CTRL, V, Emoji picker, exec, omarchy-launch-walker -m clipboard bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system From a54044ea3040b8cc87528c9f766bb3dc42dea336 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 10 Oct 2025 21:07:20 -0400 Subject: [PATCH 076/209] Change screenrecorder to gpu-screen-recorder --- bin/omarchy-cmd-screenrecord | 106 ++++++++++++++---- default/hypr/apps.conf | 1 + default/hypr/apps/webcam-overlay.conf | 11 ++ default/hypr/bindings/utilities.conf | 4 +- default/waybar/indicators/screen-recording.sh | 2 +- 5 files changed, 102 insertions(+), 22 deletions(-) create mode 100644 default/hypr/apps/webcam-overlay.conf diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index ee4622f2..3693e76f 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -8,31 +8,63 @@ if [[ ! -d "$OUTPUT_DIR" ]]; then exit 1 fi -# Selects region or output -SCOPE="$1" +SCOPE="" +AUDIO="false" +WEBCAM="false" -# Selects audio inclusion or not -AUDIO=$([[ $2 == "audio" ]] && echo "--audio") +for arg in "$@"; do + case "$arg" in + --with-audio) AUDIO="true" ;; + --with-webcam) WEBCAM="true" ;; + output|region) SCOPE="$arg" ;; + esac +done + +cleanup_webcam() { + pkill -f "WebcamOverlay" 2>/dev/null +} + +start_webcam_overlay() { + cleanup_webcam + + local scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale') + local width=$(awk "BEGIN {printf \"%.0f\", 360 * $scale}") + local height=$(awk "BEGIN {printf \"%.0f\", 203 * $scale}") + + ffplay -f v4l2 -framerate 30 /dev/video0 \ + -vf "scale=${width}:${height}" \ + -window_title "WebcamOverlay" \ + -noborder \ + -fflags nobuffer -flags low_delay \ + -probesize 32 -analyzeduration 0 \ + -loglevel quiet & + sleep 1 +} start_screenrecording() { local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" + local audio_args="" - if lspci | grep -qi 'nvidia'; then - wf-recorder $AUDIO -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@" & - else - wl-screenrec $AUDIO -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@" & - fi + # Merge audio tracks into one - separate tracks only play one at a time in most players + [[ "$AUDIO" == "true" ]] && audio_args="-a default_output|default_input" + gpu-screen-recorder -w "$@" -f 60 -c mp4 -o "$filename" $audio_args & toggle_screenrecording_indicator } stop_screenrecording() { - pkill -x wl-screenrec - pkill -x wf-recorder + pkill -SIGINT -f "gpu-screen-recorder" # SIGINT required to save video properly + + local count=0 + while pgrep -f "gpu-screen-recorder" >/dev/null && [ $count -lt 50 ]; do + sleep 0.1 + count=$((count + 1)) + done + + pgrep -f "gpu-screen-recorder" >/dev/null && pkill -9 -f "gpu-screen-recorder" + cleanup_webcam notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000 - - sleep 0.2 # ensures the process is actually dead before we check toggle_screenrecording_indicator } @@ -41,15 +73,51 @@ toggle_screenrecording_indicator() { } screenrecording_active() { - pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null + pgrep -f "gpu-screen-recorder" >/dev/null || pgrep -x slurp >/dev/null || pgrep -f "WebcamOverlay" >/dev/null } if screenrecording_active; then - stop_screenrecording + if pgrep -x slurp >/dev/null; then + pkill -x slurp 2>/dev/null + elif pgrep -f "WebcamOverlay" >/dev/null && ! pgrep -f "gpu-screen-recorder" >/dev/null; then + cleanup_webcam + else + stop_screenrecording + fi elif [[ "$SCOPE" == "output" ]]; then - output=$(slurp -o) || exit 1 - start_screenrecording -g "$output" + [[ "$WEBCAM" == "true" ]] && start_webcam_overlay + + if ! output=$(slurp -o -f "%o"); then + [[ "$WEBCAM" == "true" ]] && cleanup_webcam + exit 1 + fi + + if [[ -z "$output" ]]; then + notify-send "Error" "Could not detect monitor" -u critical + [[ "$WEBCAM" == "true" ]] && cleanup_webcam + exit 1 + fi + + start_screenrecording "$output" else - region=$(slurp) || exit 1 - start_screenrecording -g "$region" + [[ "$WEBCAM" == "true" ]] && start_webcam_overlay + + scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale') + + if ! region=$(slurp -f "%wx%h+%x+%y"); then + [[ "$WEBCAM" == "true" ]] && cleanup_webcam + exit 1 + fi + + if [[ "$region" =~ ^([0-9]+)x([0-9]+)\+([0-9]+)\+([0-9]+)$ ]]; then + w=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[1]} * $scale}") + h=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[2]} * $scale}") + x=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[3]} * $scale}") + y=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[4]} * $scale}") + scaled_region="${w}x${h}+${x}+${y}" + else + scaled_region="$region" + fi + + start_screenrecording region -region "$scaled_region" fi diff --git a/default/hypr/apps.conf b/default/hypr/apps.conf index 6b4ebbbd..354339de 100644 --- a/default/hypr/apps.conf +++ b/default/hypr/apps.conf @@ -12,3 +12,4 @@ source = ~/.local/share/omarchy/default/hypr/apps/steam.conf source = ~/.local/share/omarchy/default/hypr/apps/system.conf source = ~/.local/share/omarchy/default/hypr/apps/terminals.conf source = ~/.local/share/omarchy/default/hypr/apps/walker.conf +source = ~/.local/share/omarchy/default/hypr/apps/webcam-overlay.conf diff --git a/default/hypr/apps/webcam-overlay.conf b/default/hypr/apps/webcam-overlay.conf new file mode 100644 index 00000000..e58a5f33 --- /dev/null +++ b/default/hypr/apps/webcam-overlay.conf @@ -0,0 +1,11 @@ +# Webcam overlay for screen recording +windowrule = float, title:WebcamOverlay +windowrule = pin, title:WebcamOverlay +# windowrule = size 480 360, title:WebcamOverlay +windowrule = noshadow, title:WebcamOverlay +windowrule = noblur, title:WebcamOverlay +windowrule = noinitialfocus, title:WebcamOverlay +windowrule = nodim, title:WebcamOverlay +windowrule = opaque, title:WebcamOverlay +windowrule = opacity 1 1, title:WebcamOverlay +windowrule = move 100%-w-40 100%-w-40, title:WebcamOverlay diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index c8b3efdb..9b1f382e 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -36,9 +36,9 @@ bindd = CTRL, PRINT, Screenshot of display, exec, omarchy-cmd-screenshot output # Screen recordings bindd = ALT, PRINT, Screen record a region, exec, omarchy-cmd-screenrecord region -bindd = ALT SHIFT, PRINT, Screen record a region with audio, exec, omarchy-cmd-screenrecord region audio +bindd = ALT SHIFT, PRINT, Screen record a region with audio, exec, omarchy-cmd-screenrecord region --with-audio bindd = CTRL ALT, PRINT, Screen record display, exec, omarchy-cmd-screenrecord output -bindd = CTRL ALT SHIFT, PRINT, Screen record display with audio, exec, omarchy-cmd-screenrecord output audio +bindd = CTRL ALT SHIFT, PRINT, Screen record display with audio, exec, omarchy-cmd-screenrecord output --with-audio # Color picker bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a diff --git a/default/waybar/indicators/screen-recording.sh b/default/waybar/indicators/screen-recording.sh index d0d00822..bb6cf93c 100755 --- a/default/waybar/indicators/screen-recording.sh +++ b/default/waybar/indicators/screen-recording.sh @@ -1,6 +1,6 @@ #!/bin/bash -if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then +if pgrep -f "gpu-screen-recorder" >/dev/null; then echo '{"text": "󰻂", "tooltip": "Stop recording", "class": "active"}' else echo '{"text": ""}' From 2c74696735dc939dc1afe845bec4c497a6695d09 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 10 Oct 2025 21:11:05 -0400 Subject: [PATCH 077/209] Update packages --- install/omarchy-base.packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 7d408e22..ef403485 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -35,6 +35,7 @@ github-cli gnome-calculator gnome-keyring gnome-themes-extra +gpu-screen-recorder gum gvfs-mtp gvfs-smb @@ -113,7 +114,6 @@ unzip uwsm walker-bin waybar -wf-recorder whois wireless-regdb wiremix From 883cb66f99f6667c5aba34aadd8fa8fa115aba00 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 10 Oct 2025 21:11:25 -0400 Subject: [PATCH 078/209] Migrate to gpu-screen-recorder --- migrations/1760144906.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 migrations/1760144906.sh diff --git a/migrations/1760144906.sh b/migrations/1760144906.sh new file mode 100644 index 00000000..00e3a047 --- /dev/null +++ b/migrations/1760144906.sh @@ -0,0 +1,3 @@ +echo "Change omarchy-screenrecord to use gpu-screen-recorder" +omarchy-pkg-drop wf-recorder wl-screenrec +omarchy-pkg-add gpu-screen-recorder From eb74a97a0cdfe80ccc9aee32ae78853645947ddf Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 10 Oct 2025 21:23:42 -0400 Subject: [PATCH 079/209] Fix scaling for non 16:9 --- bin/omarchy-cmd-screenrecord | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index 3693e76f..f3b377d0 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -27,12 +27,15 @@ cleanup_webcam() { start_webcam_overlay() { cleanup_webcam + # Get monitor scale local scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale') - local width=$(awk "BEGIN {printf \"%.0f\", 360 * $scale}") - local height=$(awk "BEGIN {printf \"%.0f\", 203 * $scale}") + # Target width (base 360px, scaled to monitor) + local target_width=$(awk "BEGIN {printf \"%.0f\", 360 * $scale}") + + # Scale maintaining aspect ratio (-1 means auto-calculate to maintain ratio) ffplay -f v4l2 -framerate 30 /dev/video0 \ - -vf "scale=${width}:${height}" \ + -vf "scale=${target_width}:-1" \ -window_title "WebcamOverlay" \ -noborder \ -fflags nobuffer -flags low_delay \ From af564ed07d7a7babc90517b37905118ebb01f6a0 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 10 Oct 2025 21:37:57 -0400 Subject: [PATCH 080/209] Fix webcam to select 16:9 on FW13 and others --- bin/omarchy-cmd-screenrecord | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index f3b377d0..62bf951d 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -33,8 +33,19 @@ start_webcam_overlay() { # Target width (base 360px, scaled to monitor) local target_width=$(awk "BEGIN {printf \"%.0f\", 360 * $scale}") - # Scale maintaining aspect ratio (-1 means auto-calculate to maintain ratio) - ffplay -f v4l2 -framerate 30 /dev/video0 \ + # Try preferred 16:9 resolutions in order, use first available + local preferred_resolutions=("640x360" "1280x720" "1920x1080") + local video_size_arg="" + local available_formats=$(v4l2-ctl --list-formats-ext -d /dev/video0 2>/dev/null) + + for resolution in "${preferred_resolutions[@]}"; do + if echo "$available_formats" | grep -q "$resolution"; then + video_size_arg="-video_size $resolution" + break + fi + done + + ffplay -f v4l2 $video_size_arg -framerate 30 /dev/video0 \ -vf "scale=${target_width}:-1" \ -window_title "WebcamOverlay" \ -noborder \ From a7a6ac1d217749643fbae6060d7014c01e4c051b Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 11 Oct 2025 01:25:44 -0400 Subject: [PATCH 081/209] Add error explanation if we have to kill --- bin/omarchy-cmd-screenrecord | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index 62bf951d..0ea1e513 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -69,16 +69,21 @@ start_screenrecording() { stop_screenrecording() { pkill -SIGINT -f "gpu-screen-recorder" # SIGINT required to save video properly + # Wait a maximum of 5 seconds to finish before hard killing local count=0 while pgrep -f "gpu-screen-recorder" >/dev/null && [ $count -lt 50 ]; do sleep 0.1 count=$((count + 1)) done - pgrep -f "gpu-screen-recorder" >/dev/null && pkill -9 -f "gpu-screen-recorder" - cleanup_webcam - - notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000 + if pgrep -f "gpu-screen-recorder" >/dev/null; then + pkill -9 -f "gpu-screen-recorder" + cleanup_webcam + notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000 + else + cleanup_webcam + notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000 + fi toggle_screenrecording_indicator } From a6aec518a595ff00dd4dfc2dadad06ff903a52e2 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 11 Oct 2025 01:33:45 -0400 Subject: [PATCH 082/209] Remove wl-screenrec --- install/omarchy-base.packages | 1 - 1 file changed, 1 deletion(-) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index ef403485..814ed7ec 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -120,7 +120,6 @@ wiremix wireplumber wl-clip-persist wl-clipboard -wl-screenrec woff2-font-awesome xdg-desktop-portal-gtk xdg-desktop-portal-hyprland From 63aff7cd713c7aa095b5b27b0813ffd581ab638d Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 11 Oct 2025 01:36:51 -0400 Subject: [PATCH 083/209] Cleanup --- default/hypr/apps/webcam-overlay.conf | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/default/hypr/apps/webcam-overlay.conf b/default/hypr/apps/webcam-overlay.conf index e58a5f33..eca1c751 100644 --- a/default/hypr/apps/webcam-overlay.conf +++ b/default/hypr/apps/webcam-overlay.conf @@ -1,11 +1,6 @@ # Webcam overlay for screen recording windowrule = float, title:WebcamOverlay windowrule = pin, title:WebcamOverlay -# windowrule = size 480 360, title:WebcamOverlay -windowrule = noshadow, title:WebcamOverlay -windowrule = noblur, title:WebcamOverlay windowrule = noinitialfocus, title:WebcamOverlay windowrule = nodim, title:WebcamOverlay -windowrule = opaque, title:WebcamOverlay -windowrule = opacity 1 1, title:WebcamOverlay -windowrule = move 100%-w-40 100%-w-40, title:WebcamOverlay +windowrule = move 100%-w-40 100%-w-40, title:WebcamOverlay # There's a typo in the hyprland rule so 100%-w on the height param is actually correct here From 04fa3fd32ed842e7e4ff069fe6dca107289d4104 Mon Sep 17 00:00:00 2001 From: Shawn Yeager Date: Sun, 21 Sep 2025 16:18:12 -0500 Subject: [PATCH 084/209] Fix for '(null)' display on AirPod source selection --- bin/omarchy-cmd-audio-switch | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/omarchy-cmd-audio-switch b/bin/omarchy-cmd-audio-switch index 63ce7a1e..d73205c3 100755 --- a/bin/omarchy-cmd-audio-switch +++ b/bin/omarchy-cmd-audio-switch @@ -23,7 +23,13 @@ fi next_sink=$(echo "$sinks" | jq -r ".[$next_sink_index]") next_sink_name=$(echo "$next_sink" | jq -r '.name') + next_sink_description=$(echo "$next_sink" | jq -r '.description') +if [ "$next_sink_description" = "(null)" ] || [ "$next_sink_description" = "null" ] || [ -z "$next_sink_description" ]; then + sink_id=$(echo "$next_sink" | jq -r '.properties."object.id"') + next_sink_description=$(wpctl status | grep -E "\s+\*?\s+${sink_id}\." | sed -E 's/^.*[0-9]+\.\s+//' | sed -E 's/\s+\[.*$//') +fi + next_sink_volume=$(echo "$next_sink" | jq -r \ '.volume | to_entries[0].value.value_percent | sub("%"; "")') next_sink_is_muted=$(echo "$next_sink" | jq -r '.mute') From 01a1e43b2584d2ef5ada68334437712597e3aec1 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 11 Oct 2025 18:58:52 -0400 Subject: [PATCH 085/209] Fix command description Co-authored-by: Daniel Pavone --- bin/omarchy-update-branch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-update-branch b/bin/omarchy-update-branch index 929e1bb4..91bd797e 100755 --- a/bin/omarchy-update-branch +++ b/bin/omarchy-update-branch @@ -3,7 +3,7 @@ set -e if (($# == 0)); then - echo "Usage: omarchy-verion-branch-set [master|dev]" + echo "Usage: omarchy-update-branch [master|dev]" exit 1 fi From 360a2ed94360362c819f51b6f4dfdf95507f0ca4 Mon Sep 17 00:00:00 2001 From: Artem Popov Date: Sun, 12 Oct 2025 22:06:00 +0200 Subject: [PATCH 086/209] Add LogLevelMax to battery monitor service (#2373) --- config/systemd/user/omarchy-battery-monitor.service | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/systemd/user/omarchy-battery-monitor.service b/config/systemd/user/omarchy-battery-monitor.service index 3c47283b..6e2e8e99 100644 --- a/config/systemd/user/omarchy-battery-monitor.service +++ b/config/systemd/user/omarchy-battery-monitor.service @@ -5,4 +5,5 @@ After=graphical-session.target [Service] Type=oneshot ExecStart=%h/.local/share/omarchy/bin/omarchy-battery-monitor -Environment=DISPLAY=:0 \ No newline at end of file +Environment=DISPLAY=:0 +LogLevelMax=warning From 268b48644cb25d9a314b2f5452def15fa8fa1589 Mon Sep 17 00:00:00 2001 From: Mitch Lombardi Date: Sun, 12 Oct 2025 16:22:49 -0400 Subject: [PATCH 087/209] Fix placeholder position and adjust fail text on lock screen (#2124) * Fix placeholder position and adjust fail text on lock screen * Expand input field to fully fit fingerprint authentication failure message * Better explain what's happening --------- Co-authored-by: David Heinemeier Hansson --- config/hypr/hyprlock.conf | 8 ++++---- migrations/1759270604.sh | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 migrations/1759270604.sh diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf index d2df6965..063d793b 100644 --- a/config/hypr/hyprlock.conf +++ b/config/hypr/hyprlock.conf @@ -13,7 +13,7 @@ animations { input-field { monitor = - size = 600, 100 + size = 650, 100 position = 0, 0 halign = center valign = center @@ -22,12 +22,12 @@ input-field { outer_color = $outer_color outline_thickness = 4 - font_family = CaskaydiaMono Nerd Font + font_family = CaskaydiaMono Nerd Font Propo font_color = $font_color - placeholder_text =   Enter Password 󰈷  + placeholder_text = Enter Password 󰈷 check_color = $check_color - fail_text = $PAMFAIL ($ATTEMPTS) + fail_text = $FAIL ($ATTEMPTS) rounding = 0 shadow_passes = 0 diff --git a/migrations/1759270604.sh b/migrations/1759270604.sh new file mode 100644 index 00000000..dce79803 --- /dev/null +++ b/migrations/1759270604.sh @@ -0,0 +1,3 @@ +echo "Update Hyprlock with better placeholder position and show all fail text" + +omarchy-refresh-hyprlock From 35cc9937ffdb2ce786087519390b0d9efda07aaf Mon Sep 17 00:00:00 2001 From: Ofir Miller Date: Sun, 12 Oct 2025 23:34:50 +0300 Subject: [PATCH 088/209] feat(update): Add firmware update script to update process (#2014) * Add firmware update script and include in update process * typo * type 2 * add sudo * Add firmware update option to update menu * Remove firmware update command from update process * Lazy-install firmware updater * Move option down and change icon * Only lazy install if missing --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-menu | 3 ++- bin/omarchy-update-firmware | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100755 bin/omarchy-update-firmware diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 4526d5d1..2da22ad2 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -385,13 +385,14 @@ show_remove_menu() { } show_update_menu() { - case $(menu "Update" " Omarchy\n Branch\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Password\n Timezone") in + case $(menu "Update" " Omarchy\n Branch\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Firmware\n Password\n Timezone") in *Omarchy*) present_terminal omarchy-update ;; *Branch*) show_update_branch_menu ;; *Config*) show_update_config_menu ;; *Themes*) present_terminal omarchy-theme-update ;; *Process*) show_update_process_menu ;; *Hardware*) show_update_hardware_menu ;; + *Firmware*) present_terminal omarchy-update-firmware ;; *Timezone*) omarchy-cmd-tzupdate ;; *Password*) show_update_password_menu ;; *) show_main_menu ;; diff --git a/bin/omarchy-update-firmware b/bin/omarchy-update-firmware new file mode 100755 index 00000000..dbcb8f53 --- /dev/null +++ b/bin/omarchy-update-firmware @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e +echo -e "\e[32mUpdate Firmare\e[0m" + +if omarchy-cmd-missing fwupdmgr; then + omarchy-pkg-add fwupd +fi + +fwupdmgr refresh +sudo fwupdmgr update From 0df4dc1a1d359439343a3706cf9af8685c635351 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 16:43:17 -0400 Subject: [PATCH 089/209] Add Flexoki Light as new default theme --- migrations/1760301290.sh | 5 + themes/flexoki-light/alacritty.toml | 39 ++ .../backgrounds/flexoki-light-omarchy.png | Bin 0 -> 41659 bytes .../backgrounds/flexoki-light-orb.png | Bin 0 -> 293452 bytes themes/flexoki-light/btop.theme | 78 +++ themes/flexoki-light/chromium.theme | 1 + themes/flexoki-light/ghostty.conf | 1 + themes/flexoki-light/hyprland.conf | 3 + themes/flexoki-light/hyprlock.conf | 5 + themes/flexoki-light/icons.theme | 1 + themes/flexoki-light/kitty.conf | 67 +++ themes/flexoki-light/light.mode | 1 + themes/flexoki-light/mako.ini | 5 + themes/flexoki-light/neovim.lua | 15 + themes/flexoki-light/swayosd.css | 5 + themes/flexoki-light/vscode.json | 547 ++++++++++++++++++ themes/flexoki-light/walker.css | 6 + themes/flexoki-light/waybar.css | 2 + 18 files changed, 781 insertions(+) create mode 100644 migrations/1760301290.sh create mode 100644 themes/flexoki-light/alacritty.toml create mode 100644 themes/flexoki-light/backgrounds/flexoki-light-omarchy.png create mode 100644 themes/flexoki-light/backgrounds/flexoki-light-orb.png create mode 100644 themes/flexoki-light/btop.theme create mode 100644 themes/flexoki-light/chromium.theme create mode 100644 themes/flexoki-light/ghostty.conf create mode 100644 themes/flexoki-light/hyprland.conf create mode 100644 themes/flexoki-light/hyprlock.conf create mode 100644 themes/flexoki-light/icons.theme create mode 100644 themes/flexoki-light/kitty.conf create mode 100644 themes/flexoki-light/light.mode create mode 100644 themes/flexoki-light/mako.ini create mode 100644 themes/flexoki-light/neovim.lua create mode 100644 themes/flexoki-light/swayosd.css create mode 100644 themes/flexoki-light/vscode.json create mode 100644 themes/flexoki-light/walker.css create mode 100644 themes/flexoki-light/waybar.css diff --git a/migrations/1760301290.sh b/migrations/1760301290.sh new file mode 100644 index 00000000..b383b6fb --- /dev/null +++ b/migrations/1760301290.sh @@ -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 diff --git a/themes/flexoki-light/alacritty.toml b/themes/flexoki-light/alacritty.toml new file mode 100644 index 00000000..e59fce8b --- /dev/null +++ b/themes/flexoki-light/alacritty.toml @@ -0,0 +1,39 @@ +[colors.bright] +black = "#100F0F" +blue = "#205EA6" +cyan = "#3AA99F" +green = "#879A39" +magenta = "#CE5D97" +red = "#D14D41" +white = "#FFFCF0" +yellow = "#D0A215" + +[colors.cursor] +cursor = "#100F0F" +text = "#FFFCF0" + +[colors.dim] +black = "#100F0F" +blue = "#205EA6" +cyan = "#3AA99F" +green = "#879A39" +magenta = "#CE5D97" +red = "#D14D41" +white = "#FFFCF0" +yellow = "#D0A215" + +[colors.normal] +black = "#100F0F" +blue = "#205EA6" +cyan = "#3AA99F" +green = "#879A39" +magenta = "#CE5D97" +red = "#D14D41" +white = "#FFFCF0" +yellow = "#D0A215" + +[colors.primary] +background = "#FFFCF0" +bright_foreground = "#100F0F" +dim_foreground = "#100F0F" +foreground = "#100F0F" diff --git a/themes/flexoki-light/backgrounds/flexoki-light-omarchy.png b/themes/flexoki-light/backgrounds/flexoki-light-omarchy.png new file mode 100644 index 0000000000000000000000000000000000000000..cc755b1f908727068761830d4c9d3d7eb1cbe54d GIT binary patch literal 41659 zcmeHQ2|Sc*+kZOkDIr@CrM*ZUImmueN+FWQ5~9L5g@(jnsB^3hEw(063T;SsVmMh^ z>`P-GQN}hi))|a3-!qH0_x;}AIp6R1e(&i$_w6^HWuE1JuKT+G*Z;ci>$xZRsDbW^ zWowo}5VYdZK^ja8-72^>Lu1WqxbJ#S5SEpA00H5_m5ei%I#TL9;dkSJd&*$PNFdweqm*rP+zjBV1`tVr#qif5 z36n!@>FjnXUWXZU9NHT0C-`kF=)eLS_5q)ZxZpQ2CmWq_gG1mVKqe5-6A1JjfF}@u z0ssXNfC30W0e}JsKmmXP*c1L6IS6VoHt;|{Hy42GL;+$9tl{6P3jnp}MNfb~_>ahM zOAKRYWI>CjEDY^*J@?3blbuu?^le7dh9ADkg1Wk-m?vP~Vi&jwkO>6z1oRyUKmi1x z06+l*pa4Jt1fT!{PynC+0#E>;0Cp9Dg8*0ofP%j#6dW1qz+5Fv_!N&2=x9REGE!8w zgJQ}}z3oD65tUDaHIF7`IffYb?ygsqMRR7$& zs(V5mA(xMe2=g0K1X3kE?k-vQk^e?xfE#a|zCEeQJN1wA3bZ=z&cGC$aSebPalZ{udcOTJ0mS|>Q~n@Ad{ z3|ELiGCXAhI>QwN=uKQX0G#1<41mB~K>*vtm4n|OvD&N90q|@C+*|-)!8wBaC;H>4 z$ekI%=6TC_s8~-CgJM{KM^l*>y}K{BSPAnwVDZLHJmR$ZPTi_4-7OOm4U{y~C!U9R z2S7IwO-tt1xyyAczYoH*IbN^q(=-kTpYR?7M+jJP+tz~`cStkv7O6VuuzcYwfAQpK zt4`6j9DJ)uO=Cxf!o;i;dMLO#n;e;hn@VPN(d}qMW<~eP`(I}nR`}0fydq&E_P~bo zFW$HI_4PSCCYj?;*^Sd^o+X>|dk1RD$NQy`spyi!ZMKXZXkRGG(SrX(fL z{x@iH<2a2H>^#$Q;mX!J=1OmTe_a3dK#VM;v9uW@J}axttthv&0O+2_!k zDATk;tMkD-@k2L~`20M`6nFWpEee{L7yUnU`7o^Iy~EDqnc0o=hTp%`U8dPEGldc6 zON*C|)GO1L4%`>WFBUhYZ*4Bj*Nf30R|WgLL!txxnuOCi7!Q>IfpnbV@oU|+|S5(Qj3dpPh zsCsc+Cxv2FJgK+_+t)H>{vNGuZH<3FB5{#S!P-@Xi4}rMx8$G3Ib=VKJ=x6igRmPZr_?Gzc~OB-xSS7~iCbbf56mPhMH_*QiAmnkn_J``SK z>3;IP`)zB>E!>(OOhtY()yuWO@6E$YIl$=$M^oX3uLzfx&pbO`>d=VHGNvinS8wUD zQ}C51&-muqJO9#=@AEs}pwKG3q~xB1k99gLQp0_q(czrqtzjk>i!G~7xBKngo;BEq z*s!S4xShFOGck&TJ&rYX5^2&w*xObI3-F%N)IekQ_ty5OPj3v9 zT6^{33%X+DLml0U%!el1R~6yw>gq1pU&^h;d4#Qurp4_n>T7WAHIp_#hk1Efg{G#S zr(bq$=R@Als;4YuD@L^nX()4SaBwhO&LZ1j8np+8zh;CZ=~ZD@W39s;TNj6iwKzQ! z+YhBnS=UcIzjx2BZg!UTvr}vGk>Kp?Z1{PVm4&em!sZHUYC~nSqSbYEB_;6Jodi)b z`Pg#y#6-~Dja={C@5YL8YN$lfCDeQO!UB54bG&BZL=@r@b0%|)QBxrmo+djr{VV29 zibYPv@%VzG;rw`w7kke}2ppAG88x+3XO%x}8vN}YnMn8AM(yt{Qz|2H<62xpvSE0<#;DDa+drNA zolfW|RG7W=I_0-_jZPEwosIR0Ib|QCPu`%#vRs<3q|byEbnunC%0DCwBcUV0x#I1o+e`M(btvsqWOkg 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 enE%u0!*yr?7o4wI;lU~T>c+eMsU9X literal 0 HcmV?d00001 diff --git a/themes/flexoki-light/backgrounds/flexoki-light-orb.png b/themes/flexoki-light/backgrounds/flexoki-light-orb.png new file mode 100644 index 0000000000000000000000000000000000000000..a564a176ec0984b9d3997f358582c2d067f55a0b GIT binary patch literal 293452 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

{xxL#_No7m1F;1~Ftdg8y@j%qdk?m( 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�bG+*9m_0H@ba%VSm)1E3Vp9&98hxXFr!(dORm}T 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 /dev/null +[Desktop Entry] +Name=Windows +Comment=Start Windows VM via Docker and connect with RDP +Exec=uwsm app -- omarchy-windows-vm launch +Icon=$HOME/.local/share/applications/icons/windows.png +Terminal=false +Type=Application +Categories=System;Virtualization; +EOF + + # Get system resources + TOTAL_RAM=$(free -h | grep "^Mem:" | awk '{print $2}') + TOTAL_RAM_GB=$(free -g | grep "^Mem:" | awk '{print $2}') + TOTAL_CORES=$(nproc) + + echo "" + echo "System Resources Detected:" + echo " Total RAM: $TOTAL_RAM" + echo " Total CPU Cores: $TOTAL_CORES" + echo "" + + RAM_OPTIONS="" + for size in 2 4 8 16 32 64; do + if [ $size -le $TOTAL_RAM_GB ]; then + RAM_OPTIONS="$RAM_OPTIONS ${size}G" + fi + done + + SELECTED_RAM=$(echo $RAM_OPTIONS | tr ' ' '\n' | gum choose --selected="4G" --header="How much RAM would you like to allocate to Windows VM?") + + # Check if user cancelled + if [ -z "$SELECTED_RAM" ]; then + echo "Installation cancelled by user" + exit 1 + fi + + SELECTED_CORES=$(gum input --placeholder="Number of CPU cores (1-$TOTAL_CORES)" --value="2" --header="How many CPU cores would you like to allocate to Windows VM?" --char-limit=2) + + # Check if user cancelled (Ctrl+C in gum input returns empty string) + if [ -z "$SELECTED_CORES" ]; then + echo "Installation cancelled by user" + exit 1 + fi + + if ! [[ "$SELECTED_CORES" =~ ^[0-9]+$ ]] || [ "$SELECTED_CORES" -lt 1 ] || [ "$SELECTED_CORES" -gt "$TOTAL_CORES" ]; then + echo "Invalid input. Using default: 2 cores" + SELECTED_CORES=2 + fi + + AVAILABLE_SPACE=$(df "$HOME" | awk 'NR==2 {print int($4/1024/1024)}') + MAX_DISK_GB=$((AVAILABLE_SPACE - 10)) # Leave 10GB for Windows image + + # Check if we have enough space for minimum + if [ $MAX_DISK_GB -lt 32 ]; then + echo "❌ Insufficient disk space for Windows VM!" + echo " Available: ${AVAILABLE_SPACE}GB" + echo " Minimum required: 42GB (32GB disk + 10GB for Windows image)" + exit 1 + fi + + DISK_OPTIONS="" + for size in 32 64 128 256 512; do + if [ $size -le $MAX_DISK_GB ]; then + DISK_OPTIONS="$DISK_OPTIONS ${size}G" + fi + done + + # Default to 64G if available, otherwise 32G + DEFAULT_DISK="64G" + if ! echo "$DISK_OPTIONS" | grep -q "64G"; then + DEFAULT_DISK="32G" + fi + + SELECTED_DISK=$(echo $DISK_OPTIONS | tr ' ' '\n' | gum choose --selected="$DEFAULT_DISK" --header="How much disk space would you like to give Windows VM? (64GB+ recommended)") + + # Check if user cancelled + if [ -z "$SELECTED_DISK" ]; then + echo "Installation cancelled by user" + exit 1 + fi + + # Extract just the number for prerequisite check + DISK_SIZE_NUM=$(echo "$SELECTED_DISK" | sed 's/G//') + + # Re-check prerequisites with selected disk size + check_prerequisites "$DISK_SIZE_NUM" + + # Prompt for username and password + USERNAME=$(gum input --placeholder="Username (Press enter to use default: docker)" --header="Enter Windows username:") + if [ -z "$USERNAME" ]; then + USERNAME="docker" + fi + + PASSWORD=$(gum input --placeholder="Password (Press enter to use default: admin)" --password --header="Enter Windows password:") + if [ -z "$PASSWORD" ]; then + PASSWORD="admin" + PASSWORD_DISPLAY="(default)" + else + PASSWORD_DISPLAY="(user-defined)" + fi + + # Display configuration summary + gum style \ + --border normal \ + --padding "1 2" \ + --margin "1" \ + --align left \ + --bold \ + "Windows VM Configuration" \ + "" \ + "RAM: $SELECTED_RAM" \ + "CPU: $SELECTED_CORES cores" \ + "Disk: $SELECTED_DISK" \ + "Username: $USERNAME" \ + "Password: $PASSWORD_DISPLAY" + + # Ask for confirmation + echo "" + if ! gum confirm "Proceed with this configuration?"; then + echo "Installation cancelled by user" + exit 1 + fi + + mkdir -p $HOME/Windows + + # Create docker-compose.yml in user config directory + cat << EOF | tee "$COMPOSE_FILE" > /dev/null +services: + windows: + image: dockurr/windows + container_name: omarchy-windows + environment: + VERSION: "11" + RAM_SIZE: "$SELECTED_RAM" + CPU_CORES: "$SELECTED_CORES" + DISK_SIZE: "$SELECTED_DISK" + USERNAME: "$USERNAME" + PASSWORD: "$PASSWORD" + devices: + - /dev/kvm + - /dev/net/tun + cap_add: + - NET_ADMIN + ports: + - 8006:8006 + - 3389:3389/tcp + - 3389:3389/udp + volumes: + - $HOME/.windows:/storage + - $HOME/Windows:/shared + restart: always + stop_grace_period: 2m +EOF + + echo "" + echo "Starting Windows VM installation..." + echo "This will download a Windows 11 image (may take 10-15 minutes)." + echo "" + echo "Monitor installation progress at: http://127.0.0.1:8006" + echo "" + + # Start docker-compose with user's config + echo "Starting Windows VM with docker-compose..." + if ! docker-compose -f "$COMPOSE_FILE" up -d 2>&1; then + echo "❌ Failed to start Windows VM!" + echo " Common issues:" + echo " - Docker daemon not running: sudo systemctl start docker" + echo " - Port already in use: check if another VM is running" + echo " - Permission issues: make sure you're in the docker group" + exit 1 + fi + + echo "" + echo "Windows VM is starting up!" + echo "" + echo "Opening browser to monitor installation..." + + # Open browser to monitor installation + sleep 3 + xdg-open "http://127.0.0.1:8006" + + echo "" + echo "Installation is running in the background." + echo "You can monitor progress at: http://127.0.0.1:8006" + echo "" + echo "Once finished, launch 'Windows' via Super + Space" + echo "" + echo "To stop the VM: omarchy-windows-vm stop" + echo "To change resources: ~/.config/windows/docker-compose.yml" + echo "" +} + +remove_windows() { + echo "Removing Windows VM..." + + docker-compose -f "$COMPOSE_FILE" down 2>/dev/null || true + + docker rmi dockurr/windows 2>/dev/null || echo "Image already removed or not found" + + rm "$HOME/.local/share/applications/windows-vm.desktop" + rm -rf "$HOME/.config/windows" + rm -rf "$HOME/.windows" + + echo "" + echo "Windows VM removal completed!" +} + +launch_windows() { + KEEP_ALIVE=false + if [ "$1" = "--keep-alive" ] || [ "$1" = "-k" ]; then + KEEP_ALIVE=true + fi + + # Check if config exists + if [ ! -f "$COMPOSE_FILE" ]; then + echo "Windows VM not configured. Please run: omarchy-windows-vm install" + exit 1 + fi + + # Check if container is already running + CONTAINER_STATUS=$(docker inspect --format='{{.State.Status}}' omarchy-windows 2>/dev/null) + + if [ "$CONTAINER_STATUS" != "running" ]; then + echo "Starting Windows VM..." + + # Send desktop notification + notify-send "Windows VM" "Starting Windows VM, this may take a moment..." + + if ! docker-compose -f "$COMPOSE_FILE" up -d 2>&1; then + echo "❌ Failed to start Windows VM!" + echo " Try checking: omarchy-windows-vm status" + echo " View logs: docker logs omarchy-windows" + notify-send -u critical "Windows VM" "Failed to start Windows VM" + exit 1 + fi + + # Wait for RDP to be ready + echo "Waiting for Windows VM to be ready..." + WAIT_COUNT=0 + while ! nc -z 127.0.0.1 3389 2>/dev/null; do + sleep 2 + WAIT_COUNT=$((WAIT_COUNT + 1)) + if [ $WAIT_COUNT -gt 60 ]; then # 2 minutes timeout + echo "❌ Timeout waiting for RDP!" + echo " The VM might still be installing Windows." + echo " Check progress at: http://127.0.0.1:8006" + exit 1 + fi + done + + # Give it a moment more to fully initialize + sleep 3 + fi + + # Extract credentials from compose file + WIN_USER=$(grep "USERNAME:" "$COMPOSE_FILE" | sed 's/.*USERNAME: "\(.*\)"/\1/') + WIN_PASS=$(grep "PASSWORD:" "$COMPOSE_FILE" | sed 's/.*PASSWORD: "\(.*\)"/\1/') + + # Use defaults if not found + [ -z "$WIN_USER" ] && WIN_USER="docker" + [ -z "$WIN_PASS" ] && WIN_PASS="admin" + + # Build the connection info + if [ "$KEEP_ALIVE" = true ]; then + LIFECYCLE="VM will keep running after RDP closes +To stop: omarchy-windows-vm stop" + else + LIFECYCLE="VM will auto-stop when RDP closes" + fi + + gum style \ + --border normal \ + --padding "1 2" \ + --margin "1" \ + --align center \ + "Connecting to Windows VM" \ + "" \ + "$LIFECYCLE" + + # Detect display scale from Hyprland + HYPR_SCALE=$(hyprctl monitors -j | jq -r '.[0].scale') + SCALE_PERCENT=$(echo "$HYPR_SCALE" | awk '{print int($1 * 100)}') + + RDP_SCALE="" + if [ "$SCALE_PERCENT" -ge 170 ]; then + RDP_SCALE="/scale:180" + elif [ "$SCALE_PERCENT" -ge 130 ]; then + RDP_SCALE="/scale:140" + fi + # If scale is less than 130%, don't set any scale (use default 100) + + # Connect with RDP in fullscreen (auto-detects resolution) + xfreerdp3 /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 +f -grab-keyboard /cert:ignore /title:"Windows VM - Omarchy" /floatbar:sticky:off,default:visible,show:fullscreen $RDP_SCALE + + # After RDP closes, stop the container unless --keep-alive was specified + if [ "$KEEP_ALIVE" = false ]; then + echo "" + echo "RDP session closed. Stopping Windows VM..." + docker-compose -f "$COMPOSE_FILE" down + echo "Windows VM stopped." + else + echo "" + echo "RDP session closed. Windows VM is still running." + echo "To stop it: omarchy-windows-vm stop" + fi +} + +stop_windows() { + if [ ! -f "$COMPOSE_FILE" ]; then + echo "Windows VM not configured." + exit 1 + fi + + echo "Stopping Windows VM..." + docker-compose -f "$COMPOSE_FILE" down + echo "Windows VM stopped." +} + +status_windows() { + if [ ! -f "$COMPOSE_FILE" ]; then + echo "Windows VM not configured." + echo "To set up: omarchy-windows-vm install" + exit 1 + fi + + CONTAINER_STATUS=$(docker inspect --format='{{.State.Status}}' omarchy-windows 2>/dev/null) + + if [ -z "$CONTAINER_STATUS" ]; then + echo "Windows VM container not found." + echo "To start: omarchy-windows-vm launch" + elif [ "$CONTAINER_STATUS" = "running" ]; then + gum style \ + --border normal \ + --padding "1 2" \ + --margin "1" \ + --align left \ + "Windows VM Status: RUNNING" \ + "" \ + "Web interface: http://127.0.0.1:8006" \ + "RDP available: port 3389" \ + "" \ + "To connect: omarchy-windows-vm launch" \ + "To stop: omarchy-windows-vm stop" + else + echo "Windows VM is stopped (status: $CONTAINER_STATUS)" + echo "To start: omarchy-windows-vm launch" + fi +} + +show_usage() { + echo "Usage: omarchy-windows-vm [command] [options]" + echo "" + echo "Commands:" + echo " install Install and configure Windows VM" + echo " remove Remove Windows VM and optionally its data" + echo " launch [options] Start Windows VM (if needed) and connect via RDP" + echo " Options:" + echo " --keep-alive, -k Keep VM running after RDP closes" + echo " stop Stop the running Windows VM" + echo " status Show current VM status" + echo " help Show this help message" + echo "" + echo "Examples:" + echo " omarchy-windows-vm install # Set up Windows VM for first time" + echo " omarchy-windows-vm launch # Connect to VM (auto-stop on exit)" + echo " omarchy-windows-vm launch -k # Connect to VM (keep running)" + echo " omarchy-windows-vm stop # Shut down the VM" +} + +# Main command dispatcher +case "$1" in + install) + install_windows + ;; + remove) + remove_windows + ;; + launch|start) + launch_windows "$2" + ;; + stop|down) + stop_windows + ;; + status) + status_windows + ;; + help|--help|-h|"") + show_usage + ;; + *) + echo "Unknown command: $1" >&2 + echo "" >&2 + show_usage >&2 + exit 1 + ;; +esac From a8a6cde199939c0004791a039a265f338f46b846 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 17 Oct 2025 11:03:54 +0300 Subject: [PATCH 168/209] Remove eza theming in favor of just sticking with ansi Ended up not liking the themes better than what ansi gives us --- bin/omarchy-theme-set | 1 - bin/omarchy-theme-set-eza | 7 --- migrations/1760684828.sh | 3 + themes/catppuccin/eza.yml | 104 ------------------------------- themes/gruvbox/eza.yml | 104 ------------------------------- themes/rose-pine/eza.yml | 121 ------------------------------------- themes/tokyo-night/eza.yml | 104 ------------------------------- 7 files changed, 3 insertions(+), 441 deletions(-) delete mode 100755 bin/omarchy-theme-set-eza create mode 100644 migrations/1760684828.sh delete mode 100644 themes/catppuccin/eza.yml delete mode 100644 themes/gruvbox/eza.yml delete mode 100644 themes/rose-pine/eza.yml delete mode 100644 themes/tokyo-night/eza.yml diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 3f18abfc..5dd9edd8 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -35,7 +35,6 @@ makoctl reload # Change gnome, browser, vscode, cursor themes omarchy-theme-set-terminal omarchy-theme-set-gnome -omarchy-theme-set-eza omarchy-theme-set-browser omarchy-theme-set-vscode omarchy-theme-set-cursor diff --git a/bin/omarchy-theme-set-eza b/bin/omarchy-theme-set-eza deleted file mode 100755 index cde362cc..00000000 --- a/bin/omarchy-theme-set-eza +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -if [ -f ~/.config/omarchy/current/theme/eza.yml ]; then - ln -snf ~/.config/omarchy/current/theme/eza.yml ~/.config/eza/theme.yml -else - rm -f ~/.config/eza/theme.yml -fi diff --git a/migrations/1760684828.sh b/migrations/1760684828.sh new file mode 100644 index 00000000..e8bae598 --- /dev/null +++ b/migrations/1760684828.sh @@ -0,0 +1,3 @@ +echo "Remove any active eza theme" + +rm -f ~/.config/eza/theme.yml diff --git a/themes/catppuccin/eza.yml b/themes/catppuccin/eza.yml deleted file mode 100644 index 198febcc..00000000 --- a/themes/catppuccin/eza.yml +++ /dev/null @@ -1,104 +0,0 @@ -# see https://github.com/eza-community/eza-themes/blob/main/themes/catppuccin.yml - -colourful: true - -filekinds: - normal: {foreground: "#BAC2DE"} - directory: {foreground: "#89B4FA"} - symlink: {foreground: "#89DCEB"} - pipe: {foreground: "#7F849C"} - block_device: {foreground: "#EBA0AC"} - char_device: {foreground: "#EBA0AC"} - socket: {foreground: "#585B70"} - special: {foreground: "#CBA6F7"} - executable: {foreground: "#A6E3A1"} - mount_point: {foreground: "#74C7EC"} - -perms: - user_read: {foreground: "#CDD6F4"} - user_write: {foreground: "#F9E2AF"} - user_execute_file: {foreground: "#A6E3A1"} - user_execute_other: {foreground: "#A6E3A1"} - group_read: {foreground: "#BAC2DE"} - group_write: {foreground: "#F9E2AF"} - group_execute: {foreground: "#A6E3A1"} - other_read: {foreground: "#A6ADC8"} - other_write: {foreground: "#F9E2AF"} - other_execute: {foreground: "#A6E3A1"} - special_user_file: {foreground: "#CBA6F7"} - special_other: {foreground: "#585B70"} - attribute: {foreground: "#A6ADC8"} - -size: - major: {foreground: "#A6ADC8"} - minor: {foreground: "#89DCEB"} - number_byte: {foreground: "#CDD6F4"} - number_kilo: {foreground: "#BAC2DE"} - number_mega: {foreground: "#89B4FA"} - number_giga: {foreground: "#CBA6F7"} - number_huge: {foreground: "#CBA6F7"} - unit_byte: {foreground: "#A6ADC8"} - unit_kilo: {foreground: "#89B4FA"} - unit_mega: {foreground: "#CBA6F7"} - unit_giga: {foreground: "#CBA6F7"} - unit_huge: {foreground: "#74C7EC"} - -users: - user_you: {foreground: "#CDD6F4"} - user_root: {foreground: "#F38BA8"} - user_other: {foreground: "#CBA6F7"} - group_yours: {foreground: "#BAC2DE"} - group_other: {foreground: "#7F849C"} - group_root: {foreground: "#F38BA8"} - -links: - normal: {foreground: "#89DCEB"} - multi_link_file: {foreground: "#74C7EC"} - -git: - new: {foreground: "#A6E3A1"} - modified: {foreground: "#F9E2AF"} - deleted: {foreground: "#F38BA8"} - renamed: {foreground: "#94E2D5"} - typechange: {foreground: "#F5C2E7"} - ignored: {foreground: "#7F849C"} - conflicted: {foreground: "#EBA0AC"} - -git_repo: - branch_main: {foreground: "#CDD6F4"} - branch_other: {foreground: "#CBA6F7"} - git_clean: {foreground: "#A6E3A1"} - git_dirty: {foreground: "#F38BA8"} - -security_context: - colon: {foreground: "#7F849C"} - user: {foreground: "#BAC2DE"} - role: {foreground: "#CBA6F7"} - typ: {foreground: "#585B70"} - range: {foreground: "#CBA6F7"} - -file_type: - image: {foreground: "#F9E2AF"} - video: {foreground: "#F38BA8"} - music: {foreground: "#A6E3A1"} - lossless: {foreground: "#94E2D5"} - crypto: {foreground: "#585B70"} - document: {foreground: "#CDD6F4"} - compressed: {foreground: "#F5C2E7"} - temp: {foreground: "#EBA0AC"} - compiled: {foreground: "#74C7EC"} - build: {foreground: "#585B70"} - source: {foreground: "#89B4FA"} - -punctuation: {foreground: "#7F849C"} -date: {foreground: "#F9E2AF"} -inode: {foreground: "#A6ADC8"} -blocks: {foreground: "#9399B2"} -header: {foreground: "#CDD6F4"} -octal: {foreground: "#94E2D5"} -flags: {foreground: "#CBA6F7"} - -symlink_path: {foreground: "#89DCEB"} -control_char: {foreground: "#74C7EC"} -broken_symlink: {foreground: "#F38BA8"} -broken_path_overlay: {foreground: "#585B70"} diff --git a/themes/gruvbox/eza.yml b/themes/gruvbox/eza.yml deleted file mode 100644 index 68d126d6..00000000 --- a/themes/gruvbox/eza.yml +++ /dev/null @@ -1,104 +0,0 @@ -# see https://github.com/eza-community/eza-themes/blob/main/themes/gruvbox-dark.yml - -colourful: true - -filekinds: - normal: {foreground: "#ebdbb2"} - directory: {foreground: "#83a598"} - symlink: {foreground: "#8ec07c"} - pipe: {foreground: "#928374"} - block_device: {foreground: "#fb4934"} - char_device: {foreground: "#fb4934"} - socket: {foreground: "#665c54"} - special: {foreground: "#d3869b"} - executable: {foreground: "#b8bb26"} - mount_point: {foreground: "#fe8019"} - -perms: - user_read: {foreground: "#ebdbb2"} - user_write: {foreground: "#fabd2f"} - user_execute_file: {foreground: "#b8bb26"} - user_execute_other: {foreground: "#b8bb26"} - group_read: {foreground: "#ebdbb2"} - group_write: {foreground: "#fabd2f"} - group_execute: {foreground: "#b8bb26"} - other_read: {foreground: "#bdae93"} - other_write: {foreground: "#fabd2f"} - other_execute: {foreground: "#b8bb26"} - special_user_file: {foreground: "#d3869b"} - special_other: {foreground: "#928374"} - attribute: {foreground: "#bdae93"} - -size: - major: {foreground: "#bdae93"} - minor: {foreground: "#8ec07c"} - number_byte: {foreground: "#ebdbb2"} - number_kilo: {foreground: "#ebdbb2"} - number_mega: {foreground: "#83a598"} - number_giga: {foreground: "#d3869b"} - number_huge: {foreground: "#d3869b"} - unit_byte: {foreground: "#bdae93"} - unit_kilo: {foreground: "#83a598"} - unit_mega: {foreground: "#d3869b"} - unit_giga: {foreground: "#d3869b"} - unit_huge: {foreground: "#fe8019"} - -users: - user_you: {foreground: "#ebdbb2"} - user_root: {foreground: "#fb4934"} - user_other: {foreground: "#d3869b"} - group_yours: {foreground: "#ebdbb2"} - group_other: {foreground: "#928374"} - group_root: {foreground: "#fb4934"} - -links: - normal: {foreground: "#8ec07c"} - multi_link_file: {foreground: "#fe8019"} - -git: - new: {foreground: "#b8bb26"} - modified: {foreground: "#fabd2f"} - deleted: {foreground: "#fb4934"} - renamed: {foreground: "#8ec07c"} - typechange: {foreground: "#d3869b"} - ignored: {foreground: "#928374"} - conflicted: {foreground: "#cc241d"} - -git_repo: - branch_main: {foreground: "#ebdbb2"} - branch_other: {foreground: "#d3869b"} - git_clean: {foreground: "#b8bb26"} - git_dirty: {foreground: "#fb4934"} - -security_context: - colon: {foreground: "#928374"} - user: {foreground: "#ebdbb2"} - role: {foreground: "#d3869b"} - typ: {foreground: "#665c54"} - range: {foreground: "#d3869b"} - -file_type: - image: {foreground: "#fabd2f"} - video: {foreground: "#fb4934"} - music: {foreground: "#b8bb26"} - lossless: {foreground: "#8ec07c"} - crypto: {foreground: "#928374"} - document: {foreground: "#ebdbb2"} - compressed: {foreground: "#d3869b"} - temp: {foreground: "#cc241d"} - compiled: {foreground: "#83a598"} - build: {foreground: "#928374"} - source: {foreground: "#83a598"} - -punctuation: {foreground: "#928374"} -date: {foreground: "#fabd2f"} -inode: {foreground: "#bdae93"} -blocks: {foreground: "#a89984"} -header: {foreground: "#ebdbb2"} -octal: {foreground: "#8ec07c"} -flags: {foreground: "#d3869b"} - -symlink_path: {foreground: "#8ec07c"} -control_char: {foreground: "#83a598"} -broken_symlink: {foreground: "#fb4934"} -broken_path_overlay: {foreground: "#928374"} diff --git a/themes/rose-pine/eza.yml b/themes/rose-pine/eza.yml deleted file mode 100644 index 6597cb01..00000000 --- a/themes/rose-pine/eza.yml +++ /dev/null @@ -1,121 +0,0 @@ -# see https://github.com/eza-community/eza-themes/blob/main/themes/rose-pine-dawn.yml - -colourful: true - -# Colors are in format of: -# color/paletteRef (Description) #color code - -# Gold (Terminal Yellow) #ea9d34 -# Love (Terminal Red) #b4637a -# Rose (Terminal Cyan) #d7827e -# Base (Primary Background) #faf4ed -# Iris (Terminal Magenta) #907aa9 -# Foam (Terminal Blue) #56949f -# Pine (Terminal Green) #286983 -# Text (High contrast foreground) #575279 -# Muted (Low Contrast Foreground) #9893a5 -# Subtle (Medium Contrast Foreground) #797593 -# Highlight Low (Low contrast highlight) #f4ede8 -# Highlight Med (Medium Contrast Highlight) #dfdad9 -# Highlight High (High Contrast Highlight) #cecacd - -filekinds: - normal: { foreground: "#575279" } - directory: { foreground: "#56949f" } - symlink: { foreground: "#cecacd" } - pipe: { foreground: "#797593" } - block_device: { foreground: "#d7827e" } - char_device: { foreground: "#ea9d34" } - socket: { foreground: "#f4ede8" } - special: { foreground: "#907aa9" } - executable: { foreground: "#907aa9" } - mount_point: { foreground: "#dfdad9" } - -perms: - user_read: { foreground: "#797593" } - user_write: { foreground: "#d7827e" } - user_execute_file: { foreground: "#907aa9" } - user_execute_other: { foreground: "#907aa9" } - group_read: { foreground: "#797593" } - group_write: { foreground: "#d7827e" } - group_execute: { foreground: "#907aa9" } - other_read: { foreground: "#797593" } - other_write: { foreground: "#d7827e" } - other_execute: { foreground: "#907aa9" } - special_user_file: { foreground: "#907aa9" } - special_other: { foreground: "#d7827e" } - attribute: { foreground: "#797593" } - -size: - major: { foreground: "#797593" } - minor: { foreground: "#56949f" } - number_byte: { foreground: "#797593" } - number_kilo: { foreground: "#cecacd" } - number_mega: { foreground: "#286983" } - number_giga: { foreground: "#907aa9" } - number_huge: { foreground: "#907aa9" } - unit_byte: { foreground: "#797593" } - unit_kilo: { foreground: "#286983" } - unit_mega: { foreground: "#907aa9" } - unit_giga: { foreground: "#907aa9" } - unit_huge: { foreground: "#56949f" } - -users: - user_you: { foreground: "#ea9d34" } - user_root: { foreground: "#b4637a" } - user_other: { foreground: "#907aa9" } - group_yours: { foreground: "#cecacd" } - group_other: { foreground: "#9893a5" } - group_root: { foreground: "#b4637a" } - -links: - normal: { foreground: "#56949f" } - multi_link_file: { foreground: "#286983" } - -git: - new: { foreground: "#56949f" } - modified: { foreground: "#ea9d34" } - deleted: { foreground: "#b4637a" } - renamed: { foreground: "#286983" } - typechange: { foreground: "#907aa9" } - ignored: { foreground: "#9893a5" } - conflicted: { foreground: "#d7827e" } - -git_repo: - branch_main: { foreground: "#797593" } - branch_other: { foreground: "#907aa9" } - git_clean: { foreground: "#56949f" } - git_dirty: { foreground: "#b4637a" } - -security_context: - colon: { foreground: "#797593" } - user: { foreground: "#56949f" } - role: { foreground: "#907aa9" } - typ: { foreground: "#9893a5" } - range: { foreground: "#907aa9" } - -file_type: - image: { foreground: "#ea9d34" } - video: { foreground: "#b4637a" } - music: { foreground: "#56949f" } - lossless: { foreground: "#9893a5" } - crypto: { foreground: "#dfdad9" } - document: { foreground: "#797593" } - compressed: { foreground: "#907aa9" } - temp: { foreground: "#d7827e" } - compiled: { foreground: "#286983" } - build: { foreground: "#9893a5" } - source: { foreground: "#d7827e" } - -punctuation: { foreground: "#cecacd" } -date: { foreground: "#286983" } -inode: { foreground: "#797593" } -blocks: { foreground: "#9893a5" } -header: { foreground: "#797593" } -octal: { foreground: "#56949f" } -flags: { foreground: "#907aa9" } - -symlink_path: { foreground: "#56949f" } -control_char: { foreground: "#286983" } -broken_symlink: { foreground: "#b4637a" } -broken_path_overlay: { foreground: "#cecacd" } diff --git a/themes/tokyo-night/eza.yml b/themes/tokyo-night/eza.yml deleted file mode 100644 index c2271238..00000000 --- a/themes/tokyo-night/eza.yml +++ /dev/null @@ -1,104 +0,0 @@ -# see https://github.com/eza-community/eza-themes/blob/main/themes/tokyonight.yml - -colourful: true - -filekinds: - normal: { foreground: "#c0caf5" } - directory: { foreground: "#7aa2f7" } - symlink: { foreground: "#2ac3de" } - pipe: { foreground: "#414868" } - block_device: { foreground: "#e0af68" } - char_device: { foreground: "#e0af68" } - socket: { foreground: "#414868" } - special: { foreground: "#9d7cd8" } - executable: { foreground: "#9ece6a" } - mount_point: { foreground: "#b4f9f8" } - -perms: - user_read: { foreground: "#2ac3de" } - user_write: { foreground: "#bb9af7" } - user_execute_file: { foreground: "#9ece6a" } - user_execute_other: { foreground: "#9ece6a" } - group_read: { foreground: "#2ac3de" } - group_write: { foreground: "#ff9e64" } - group_execute: { foreground: "#9ece6a" } - other_read: { foreground: "#2ac3de" } - other_write: { foreground: "#ff007c" } - other_execute: { foreground: "#9ece6a" } - special_user_file: { foreground: "#ff007c" } - special_other: { foreground: "#db4b4b" } - attribute: { foreground: "#737aa2" } - -size: - major: { foreground: "#2ac3de" } - minor: { foreground: "#9d7cd8" } - number_byte: { foreground: "#a9b1d6" } - number_kilo: { foreground: "#89ddff" } - number_mega: { foreground: "#2ac3de" } - number_giga: { foreground: "#ff9e64" } - number_huge: { foreground: "#ff007c" } - unit_byte: { foreground: "#a9b1d6" } - unit_kilo: { foreground: "#89ddff" } - unit_mega: { foreground: "#2ac3de" } - unit_giga: { foreground: "#ff9e64" } - unit_huge: { foreground: "#ff007c" } - -users: - user_you: { foreground: "#3d59a1" } - user_root: { foreground: "#bb9af7" } - user_other: { foreground: "#2ac3de" } - group_yours: { foreground: "#89ddff" } - group_root: { foreground: "#bb9af7" } - group_other: { foreground: "#c0caf5" } - -links: - normal: { foreground: "#89ddff" } - multi_link_file: { foreground: "#2ac3de" } - -git: - new: { foreground: "#9ece6a" } - modified: { foreground: "#bb9af7" } - deleted: { foreground: "#db4b4b" } - renamed: { foreground: "#2ac3de" } - typechange: { foreground: "#2ac3de" } - ignored: { foreground: "#545c7e" } - conflicted: { foreground: "#ff9e64" } - -git_repo: - branch_main: { foreground: "#737aa2" } - branch_other: { foreground: "#b4f9f8" } - git_clean: { foreground: "#292e42" } - git_dirty: { foreground: "#bb9af7" } - -security_context: - colon: { foreground: "#545c7e" } - user: { foreground: "#737aa2" } - role: { foreground: "#2ac3de" } - typ: { foreground: "#3d59a1" } - range: { foreground: "#9d7cd8" } - -file_type: - image: { foreground: "#89ddff" } - video: { foreground: "#b4f9f8" } - music: { foreground: "#73daca" } - lossless: { foreground: "#41a6b5" } - crypto: { foreground: "#db4b4b" } - document: { foreground: "#a9b1d6" } - compressed: { foreground: "#ff9e64" } - temp: { foreground: "#737aa2" } - compiled: { foreground: "#737aa2" } - build: { foreground: "#1abc9c" } - source: { foreground: "#bb9af7" } - -punctuation: { foreground: "#414868" } -date: { foreground: "#e0af68" } -inode: { foreground: "#737aa2" } -blocks: { foreground: "#737aa2" } -header: { foreground: "#a9b1d6" } -octal: { foreground: "#ff9e64" } -flags: { foreground: "#9d7cd8" } - -symlink_path: { foreground: "#89ddff" } -control_char: { foreground: "#ff9e64" } -broken_symlink: { foreground: "#ff007c" } -broken_path_overlay: { foreground: "#ff007c" } From 48feb5d40404633c8dda3457c43a5b85a120a104 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 17 Oct 2025 11:39:25 +0300 Subject: [PATCH 169/209] Need to grab the last not first pid now Not entirely sure why! --- bin/omarchy-cmd-terminal-cwd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-terminal-cwd b/bin/omarchy-cmd-terminal-cwd index cda3991a..062c35fa 100755 --- a/bin/omarchy-cmd-terminal-cwd +++ b/bin/omarchy-cmd-terminal-cwd @@ -2,7 +2,7 @@ # Go from current active terminal to its child shell process and run cwd there terminal_pid=$(hyprctl activewindow | awk '/pid:/ {print $2}') -shell_pid=$(pgrep -P "$terminal_pid" | head -n1) +shell_pid=$(pgrep -P "$terminal_pid" | tail -n1) if [[ -n $shell_pid ]]; then cwd=$(readlink -f "/proc/$shell_pid/cwd" 2>/dev/null) From dcac313bb281a5e340a24359074a6c79938af62c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=BCndel?= Date: Fri, 17 Oct 2025 10:42:59 +0200 Subject: [PATCH 170/209] disable update checks in VS Code on install (#1730) * Add ssh-agent configuration and enable service on user install * add migration * install SSH Agent via service menu * Delete install/config/all.sh * Delete migrations/1757524404.sh * Delete install/config/ssh-agent.sh * Update envs.conf * Revert "Delete install/config/all.sh" This reverts commit 579fb835ad834d4b2a40a034beae6d8c35a87166. * revert all.sh changes * disable update checks in VS Code on install * Delete bin/omarchy-install-ssh-agent * Update omarchy-menu revert changes from wrong branch * add migration script * Merge back * Fixup --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-install-vscode | 3 +++ migrations/1758142943.sh | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 migrations/1758142943.sh diff --git a/bin/omarchy-install-vscode b/bin/omarchy-install-vscode index 4a081c15..644a8eb7 100755 --- a/bin/omarchy-install-vscode +++ b/bin/omarchy-install-vscode @@ -18,4 +18,7 @@ cat > ~/.vscode/argv.json << 'EOF' } EOF +# Ensure VSC's own auto-update feature is turned off +printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json + setsid gtk-launch code diff --git a/migrations/1758142943.sh b/migrations/1758142943.sh new file mode 100644 index 00000000..ef800abc --- /dev/null +++ b/migrations/1758142943.sh @@ -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 From 06827c8ee684d1e7e7f15ee0922a885f81fc011f Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 17 Oct 2025 04:58:40 -0400 Subject: [PATCH 171/209] Add smart region selection to omarchy-cmd-snapshot (#1714) * Add smart snapshot selection * Add wayfreeze * Update to only include current workspace in rectangles * Fix if there are no windows on screen * Add option to sidestep slurp and copy straight to clipboard * Update capture menu --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-cmd-screenshot | 68 +++++++++++++++++++++++++++- bin/omarchy-menu | 7 ++- default/hypr/bindings/utilities.conf | 15 ++---- install/omarchy-base.packages | 3 +- 4 files changed, 77 insertions(+), 16 deletions(-) diff --git a/bin/omarchy-cmd-screenshot b/bin/omarchy-cmd-screenshot index 330dde3b..f4450f89 100755 --- a/bin/omarchy-cmd-screenshot +++ b/bin/omarchy-cmd-screenshot @@ -8,10 +8,76 @@ if [[ ! -d "$OUTPUT_DIR" ]]; then exit 1 fi -pkill slurp || hyprshot -m ${1:-region} --raw | +pkill slurp && exit 0 + +MODE="${1:-smart}" +PROCESSING="${2:-slurp}" + +get_rectangles() { + local active_workspace=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .activeWorkspace.id') + hyprctl monitors -j | jq -r --arg ws "$active_workspace" '.[] | select(.activeWorkspace.id == ($ws | tonumber)) | "\(.x),\(.y) \((.width / .scale) | floor)x\((.height / .scale) | floor)"' + hyprctl clients -j | jq -r --arg ws "$active_workspace" '.[] | select(.workspace.id == ($ws | tonumber)) | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' +} + +# Select based on mode +case "$MODE" in + region) + wayfreeze & PID=$! + sleep .1 + SELECTION=$(slurp 2>/dev/null) + kill $PID 2>/dev/null + ;; + windows) + wayfreeze & PID=$! + sleep .1 + SELECTION=$(get_rectangles | slurp -r 2>/dev/null) + kill $PID 2>/dev/null + ;; + fullscreen) + SELECTION=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | "\(.x),\(.y) \((.width / .scale) | floor)x\((.height / .scale) | floor)"') + ;; + smart|*) + RECTS=$(get_rectangles) + wayfreeze & PID=$! + sleep .1 + SELECTION=$(echo "$RECTS" | slurp 2>/dev/null) + kill $PID 2>/dev/null + + # If the selction area is L * W < 20, we'll assume you were trying to select whichever + # window or output it was inside of to prevent accidental 2px snapshots + if [[ "$SELECTION" =~ ^([0-9]+),([0-9]+)[[:space:]]([0-9]+)x([0-9]+)$ ]]; then + if (( ${BASH_REMATCH[3]} * ${BASH_REMATCH[4]} < 20 )); then + click_x="${BASH_REMATCH[1]}" + click_y="${BASH_REMATCH[2]}" + + while IFS= read -r rect; do + if [[ "$rect" =~ ^([0-9]+),([0-9]+)[[:space:]]([0-9]+)x([0-9]+) ]]; then + rect_x="${BASH_REMATCH[1]}" + rect_y="${BASH_REMATCH[2]}" + rect_width="${BASH_REMATCH[3]}" + rect_height="${BASH_REMATCH[4]}" + + if (( click_x >= rect_x && click_x < rect_x+rect_width && click_y >= rect_y && click_y < rect_y+rect_height )); then + SELECTION="${rect_x},${rect_y} ${rect_width}x${rect_height}" + break + fi + fi + done <<< "$RECTS" + fi + fi + ;; +esac + +[ -z "$SELECTION" ] && exit 0 + +if [[ $PROCESSING == "slurp" ]]; then +grim -g "$SELECTION" - | satty --filename - \ --output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \ --early-exit \ --actions-on-enter save-to-clipboard \ --save-after-copy \ --copy-command 'wl-copy' +else + grim -g "$SELECTION" - | wl-copy +fi diff --git a/bin/omarchy-menu b/bin/omarchy-menu index edb43735..1dea5905 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -104,10 +104,9 @@ show_capture_menu() { } show_screenshot_menu() { - case $(menu "Screenshot" " Region\n Window\n Display") in - *Region*) omarchy-cmd-screenshot ;; - *Window*) omarchy-cmd-screenshot window ;; - *Display*) omarchy-cmd-screenshot output ;; + case $(menu "Screenshot" " Snap with Editing\n Straight to Clipboard") in + *Editing*) omarchy-cmd-screenshot smart ;; + *Clipboard*) omarchy-cmd-screenshot smart clipboard ;; *) show_capture_menu ;; esac } diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 01577fab..ed44654e 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -29,16 +29,11 @@ bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-cmd-apple-display bindd = CTRL, F2, Apple Display brightness up, exec, omarchy-cmd-apple-display-brightness +5000 bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000 -# Screenshots -bindd = , PRINT, Screenshot of region, exec, omarchy-cmd-screenshot -bindd = SHIFT, PRINT, Screenshot of window, exec, omarchy-cmd-screenshot window -bindd = CTRL, PRINT, Screenshot of display, exec, omarchy-cmd-screenshot output - -# Screen recordings -bindd = ALT, PRINT, Screen record menu, exec, omarchy-menu screenrecord - -# Color picker -bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a +# Captures +bindd = , PRINT, Screenshot, exec, omarchy-cmd-screenshot +bindd = SHIFT, PRINT, Screenshot, exec, omarchy-cmd-screenshot smart clipboard +bindd = ALT, PRINT, Screenrecording, exec, omarchy-menu screenrecord +bindd = SUPER, PRINT, Color picking, exec, pkill hyprpicker || hyprpicker -a # File sharing bindd = CTRL SUPER, S, Share, exec, omarchy-menu share diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 06fbf47f..df977801 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -48,6 +48,7 @@ github-cli gnome-calculator gnome-keyring gnome-themes-extra +grim gpu-screen-recorder gum gvfs-mtp @@ -57,7 +58,6 @@ hyprland hyprland-qtutils hyprlock hyprpicker -hyprshot hyprsunset imagemagick impala @@ -130,6 +130,7 @@ unzip uwsm walker waybar +wayfreeze whois wireless-regdb wiremix From f607ba51ff342b2ccd1ac897c76dc18ec63c7b51 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 17 Oct 2025 12:11:26 +0300 Subject: [PATCH 172/209] Include Super + X for cut This won't work in terminal, but still better to have it consistent --- default/hypr/bindings/clipboard.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/default/hypr/bindings/clipboard.conf b/default/hypr/bindings/clipboard.conf index 1b4e3ab7..7d08d920 100644 --- a/default/hypr/bindings/clipboard.conf +++ b/default/hypr/bindings/clipboard.conf @@ -1,4 +1,5 @@ # Copy / Paste bind = SUPER, C, sendshortcut, CTRL, Insert, bind = SUPER, V, sendshortcut, SHIFT, Insert, +bind = SUPER, X, sendshortcut, CTRL, X, bindd = SUPER CTRL, V, Clipboard, exec, omarchy-launch-walker -m clipboard From 4174ff7b133a4af08f4a5b201a96c84d6d6894b8 Mon Sep 17 00:00:00 2001 From: Darcy Brown Date: Fri, 17 Oct 2025 04:22:38 -0500 Subject: [PATCH 173/209] Dynamic Color Match Obsidian theme to current Omarchy theme (#791) * feat: obsidian theme to tie into Omarchy theme * better color matching for search result matches * feat: simplify install flow * Removed install/remove scripts and flow * First `omarchy-theme-set-obsidian` run will look for vaults in Documents and Dropbox folders and add them to `/.local/state/omarchy/obsidian-vaults` * Point of this is such that we assume a couple locations to look for vaults but allow people to add vaults to the file for custom locations. Subsequent theme-set invocations aren't impacted by find/search on large systems * Each `omarchy-theme-set` invocation will install the themes on all found/registered vaults if missing and update the live theme * Added an option of `omarchy-theme-set-obsidian --reset` to wipe out themes in registered vaults and remove the registry file. This would be the option to re-run to the automatic vault registration. * Added migration to trigger install immediately in Obisdian, note that you still need to pick Omarchy theme. --- bin/omarchy-theme-set | 1 + bin/omarchy-theme-set-obsidian | 659 +++++++++++++++++++++++++++++++++ migrations/1760441237.sh | 3 + 3 files changed, 663 insertions(+) create mode 100755 bin/omarchy-theme-set-obsidian create mode 100644 migrations/1760441237.sh diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 5dd9edd8..b729dee6 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -38,3 +38,4 @@ omarchy-theme-set-gnome omarchy-theme-set-browser omarchy-theme-set-vscode omarchy-theme-set-cursor +omarchy-theme-set-obsidian diff --git a/bin/omarchy-theme-set-obsidian b/bin/omarchy-theme-set-obsidian new file mode 100755 index 00000000..e67f0b62 --- /dev/null +++ b/bin/omarchy-theme-set-obsidian @@ -0,0 +1,659 @@ +#!/bin/bash + +# omarchy-theme-set-obsidian: Bootstrap and update Omarchy theme for Obsidian +# +# - Ensures registry at ~/.local/state/omarchy/obsidian-vaults +# - If missing/empty, bootstraps by scanning ~/Documents/*/.obsidian and ~/Dropbox/*/.obsidian +# - For each valid vault: +# - Ensures .obsidian/themes/Omarchy/{manifest.json, theme.css} +# - Updates theme.css (uses current theme’s obsidian.css if present; otherwise generates -- see below) + +# Theme automagic generation logic: +# +# - Background/foreground: read from ~/.config/omarchy/current/theme/alacritty.toml [colors.primary] +# (background/foreground). Fallbacks: bg=#1a1b26, fg=#a9b1d6. Compute bg brightness for light/dark handling. +# - Palette extraction: collect colors from Alacritty (primary/normal/bright/dim/selection), Waybar (@define-color), +# and Hyprland (col.*_border; rgba->hex). Normalize, dedupe, and count frequencies. +# - Slot ordering: remove bg/fg, sort remaining colors by frequency, then fill 13 slots by cycling. Map slots to: +# h1–h6, links, inline code, marks, interactive accent, blockquote border; muted/faint use border color. +# - Code colors: code background = closest color to bg (Euclidean RGB); if none, make a subtle bg variant (+/− RGB). +# code foreground = closest color to fg; fallback #e0e0e0. +# - Border color: from btop.theme theme[div_line]; else blended mix biased toward bg (≈ (bg+fg)/3). +# - Selection: from Alacritty [colors.selection] (background/text), honoring CellForeground/Background. +# If missing, background = 75% bg + 25% fg; text chosen for contrast vs selection background. +# - Fonts: monospace from Alacritty [font] or fontconfig monospace; UI font from fontconfig sans-serif. + +VAULTS_FILE="$HOME/.local/state/omarchy/obsidian-vaults" +CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme" + +# Ensure the vaults registry exists, or bootstrap from known locations +ensure_vaults_file() { + mkdir -p "$(dirname "$VAULTS_FILE")" + # If file exists (even empty), do not scan; treat as authoritative + if [ -f "$VAULTS_FILE" ]; then + return + fi + local tmpfile + tmpfile="$(mktemp)" + # Scan a couple of common locations for //.obsidian + for base in "$HOME/Documents" "$HOME/Dropbox"; do + [ -d "$base" ] || continue + for d in "$base"/*/.obsidian; do + [ -d "$d" ] || continue + vault_dir="${d%/.obsidian}" + printf "%s\n" "$vault_dir" >>"$tmpfile" + done + done + if [ -s "$tmpfile" ]; then + sort -u "$tmpfile" >"$VAULTS_FILE" + else + : >"$VAULTS_FILE" + fi + rm -f "$tmpfile" +} + +# Ensure theme directory and minimal manifest exist in a vault +ensure_theme_scaffold() { + local vault_path="$1" + local theme_dir="$vault_path/.obsidian/themes/Omarchy" + mkdir -p "$theme_dir" + if [ ! -f "$theme_dir/manifest.json" ]; then + cat >"$theme_dir/manifest.json" <<'EOF' +{ + "name": "Omarchy", + "version": "1.0.0", + "minAppVersion": "0.16.0", + "description": "Automatically syncs with your current Omarchy system theme colors and fonts", + "author": "Omarchy", + "authorUrl": "https://omarchy.org" +} +EOF + fi + [ -f "$theme_dir/theme.css" ] || : >"$theme_dir/theme.css" +} + +# Function to extract hex color from string +extract_hex_color() { + echo "$1" | grep -oE '#[0-9a-fA-F]{6}' | head -1 +} + +# Function to convert RGB/RGBA to hex +rgb_to_hex() { + local rgb_string="$1" + if [[ $rgb_string =~ rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+) ]]; then + printf "#%02x%02x%02x\n" "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}" + fi +} + +# Convert hex to RGB components +hex_to_rgb() { + local hex="${1#\#}" + printf "%d %d %d\n" "0x${hex:0:2}" "0x${hex:2:2}" "0x${hex:4:2}" +} + +# Calculate perceived brightness (0-255) +calculate_brightness() { + local hex="$1" + read -r r g b <<<"$(hex_to_rgb "$hex")" + # Use perceived brightness formula + echo $(((r * 299 + g * 587 + b * 114) / 1000)) +} + +# Calculate color distance (euclidean in RGB space) +color_distance() { + local hex1="$1" + local hex2="$2" + read -r r1 g1 b1 <<<"$(hex_to_rgb "$hex1")" + read -r r2 g2 b2 <<<"$(hex_to_rgb "$hex2")" + echo $(((r1 - r2) * (r1 - r2) + (g1 - g2) * (g1 - g2) + (b1 - b2) * (b1 - b2))) +} + +# Extract all colors with frequency count +extract_all_colors_with_count() { + local -A color_counts + local color + + # Extract from Alacritty config + if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then + # Primary colors + while IFS= read -r color; do + color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency + [ -n "$color" ] && ((color_counts["$color"]++)) + done < <(grep -E "(background|foreground|cursor|text)" "$CURRENT_THEME_DIR/alacritty.toml" | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | grep "^#") + + # Normal colors + while IFS= read -r color; do + color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency + [ -n "$color" ] && ((color_counts["$color"]++)) + done < <(grep -A 20 "\[colors.normal\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep -E "(black|red|green|yellow|blue|magenta|cyan|white)" | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | grep "^#") + + # Bright colors + while IFS= read -r color; do + # Add # if missing + [[ "$color" =~ ^[0-9a-fA-F]{6}$ ]] && color="#$color" + color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency + [[ "$color" =~ ^#[0-9a-f]{6}$ ]] && ((color_counts["$color"]++)) + done < <(grep -A 20 "\[colors.bright\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep -E "(black|red|green|yellow|blue|magenta|cyan|white)" | sed "s/.*[\"']//;s/[\"'].*//") + + # Dim colors if present + while IFS= read -r color; do + # Add # if missing + [[ "$color" =~ ^[0-9a-fA-F]{6}$ ]] && color="#$color" + color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency + [[ "$color" =~ ^#[0-9a-f]{6}$ ]] && ((color_counts["$color"]++)) + done < <(grep -A 20 "\[colors.dim\]" "$CURRENT_THEME_DIR/alacritty.toml" 2>/dev/null | grep -E "(black|red|green|yellow|blue|magenta|cyan|white)" | sed "s/.*[\"']//;s/[\"'].*//") + + # Selection colors + while IFS= read -r color; do + color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency + [ -n "$color" ] && ((color_counts["$color"]++)) + done < <(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" 2>/dev/null | grep -E "(background|text)" | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | grep "^#") + fi + + # Extract from Waybar CSS + if [ -f "$CURRENT_THEME_DIR/waybar.css" ]; then + while IFS= read -r color; do + color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency + [ -n "$color" ] && ((color_counts["$color"]++)) + done < <(grep -oE '@define-color [a-z_-]+ #[0-9a-fA-F]{6}' "$CURRENT_THEME_DIR/waybar.css" | grep -oE '#[0-9a-fA-F]{6}') + fi + + # Extract from Hyprland config + if [ -f "$CURRENT_THEME_DIR/hyprland.conf" ]; then + while IFS= read -r color; do + if [[ $color == rgba* ]] || [[ $color == rgb* ]]; then + color=$(rgb_to_hex "$color") + fi + color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency + [ -n "$color" ] && ((color_counts["$color"]++)) + done < <(grep -E "col\.(active|inactive)_border" "$CURRENT_THEME_DIR/hyprland.conf" | grep -oE 'rgba?\([^)]+\)|#[0-9a-fA-F]{6,8}' | sed 's/ff$//') + fi + + # Output colors with their counts + for color in "${!color_counts[@]}"; do + echo "${color_counts[$color]} $color" + done +} + +# Sort colors by frequency +sort_colors_by_frequency() { + # Input is already "count color" format + sort -rn | cut -d' ' -f2 +} + +# Fill color slots with cycling if needed +fill_color_slots() { + local -a colors=("$@") + local -a slots + local num_colors=${#colors[@]} + + # Need 13 slots total (code colors are handled separately) + local slots_needed=13 + + if [ $num_colors -eq 0 ]; then + # No colors available, use defaults + colors=("#3d3d3d" "#5d5d5d" "#7d7d7d" "#9d9d9d" "#bd93f9" "#50fa7b") + num_colors=6 + fi + + # Fill slots, cycling if necessary + for ((i = 0; i < slots_needed; i++)); do + slots[$i]="${colors[$((i % num_colors))]}" + done + + echo "${slots[@]}" +} + +# Main color extraction and theme generation +extract_theme_data() { + # Get primary colors from Alacritty + local bg_color="#1a1b26" + local fg_color="#a9b1d6" + + if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then + local extracted_bg=$(grep -A 5 "\[colors.primary\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^background = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') + local extracted_fg=$(grep -A 5 "\[colors.primary\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^foreground = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') + [ -n "$extracted_bg" ] && bg_color="$extracted_bg" + [ -n "$extracted_fg" ] && fg_color="$extracted_fg" + fi + + # Determine if light or dark theme + local bg_brightness=$(calculate_brightness "$bg_color") + local is_light_theme=false + [ $bg_brightness -gt 127 ] && is_light_theme=true + + # Extract all colors with counts + local color_data=$(extract_all_colors_with_count) + + # Filter out background and foreground colors for the main array + local filtered_data=$(echo "$color_data" | grep -v "$bg_color" | grep -v "$fg_color") + + # Get all unique colors (including bg/fg) for distance calculations + local -a all_unique_colors + readarray -t all_unique_colors < <(echo "$color_data" | cut -d' ' -f2 | sort -u) + + # Find the 3 closest colors to background for background variations + local -a bg_distances + for color in "${all_unique_colors[@]}"; do + if [ "$color" != "$bg_color" ]; then + distance=$(color_distance "$color" "$bg_color") + bg_distances+=("$distance:$color") + fi + done + + # Sort by distance and get the closest color for code background + local -a closest_to_bg + readarray -t closest_to_bg < <(printf '%s\n' "${bg_distances[@]}" | sort -n | head -1 | cut -d: -f2) + + # All background variations use the same as primary background + local bg_primary_alt="$bg_color" + local bg_secondary="$bg_color" + local bg_secondary_alt="$bg_color" + + # Code block background uses the closest different color + local code_bg="${closest_to_bg[0]}" + + # If no different color available, create a subtle variant for code blocks + if [ -z "$code_bg" ]; then + read -r r g b <<<"$(hex_to_rgb "$bg_color")" + if [ $bg_brightness -gt 127 ]; then + r=$((r - 10)) + g=$((g - 10)) + b=$((b - 10)) + else + r=$((r + 15)) + g=$((g + 15)) + b=$((b + 15)) + fi + [ $r -lt 0 ] && r=0 + [ $r -gt 255 ] && r=255 + [ $g -lt 0 ] && g=0 + [ $g -gt 255 ] && g=255 + [ $b -lt 0 ] && b=0 + [ $b -gt 255 ] && b=255 + code_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b") + fi + + # Find closest color to foreground for code block text + local code_fg="" + min_distance=999999999 + for color in "${all_unique_colors[@]}"; do + if [ "$color" != "$fg_color" ]; then + distance=$(color_distance "$color" "$fg_color") + if [ $distance -lt $min_distance ]; then + min_distance=$distance + code_fg="$color" + fi + fi + done + [ -z "$code_fg" ] && code_fg="#e0e0e0" # Fallback + + # Extract text selection colors from Alacritty + local selection_bg="" + local selection_fg="" + if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then + selection_bg=$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^background = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') + local selection_text=$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^text = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') + + # If text is set to CellForeground/CellBackground, use the appropriate color + if [ -z "$selection_text" ] || [[ "$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^text = ")" == *"CellForeground"* ]]; then + selection_fg="$fg_color" + elif [[ "$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^text = ")" == *"CellBackground"* ]]; then + selection_fg="$bg_color" + else + selection_fg="$selection_text" + fi + fi + + # Fallback if no selection colors found + if [ -z "$selection_bg" ]; then + read -r r1 g1 b1 <<<"$(hex_to_rgb "$bg_color")" + read -r r2 g2 b2 <<<"$(hex_to_rgb "$fg_color")" + local r=$(((r1 * 3 + r2) / 4)) # 75% background, 25% foreground + local g=$(((g1 * 3 + g2) / 4)) + local b=$(((b1 * 3 + b2) / 4)) + selection_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b") + fi + + # Use contrasting color for selection text if not defined + if [ -z "$selection_fg" ]; then + # Calculate brightness of selection background + local sel_brightness=$(calculate_brightness "$selection_bg") + if [ $sel_brightness -gt 127 ]; then + selection_fg="$bg_color" # Dark text on light selection + else + selection_fg="$fg_color" # Light text on dark selection + fi + fi + + # Extract border color from btop theme + local border_color="" + if [ -f "$CURRENT_THEME_DIR/btop.theme" ]; then + # Look for theme[div_line] in btop theme + local btop_divline=$(grep 'theme\[div_line\]' "$CURRENT_THEME_DIR/btop.theme" | head -1) + + if [ -n "$btop_divline" ]; then + # Extract the color value after the = sign + local extracted=$(echo "$btop_divline" | sed 's/.*=//' | xargs) + + # Check if it's a hex color and lowercase it + if [[ $extracted =~ ^#[0-9a-fA-F]{6}$ ]]; then + border_color=$(echo "$extracted" | tr '[:upper:]' '[:lower:]') + elif [[ $extracted =~ ^[0-9a-fA-F]{6}$ ]]; then + # Add # if missing and lowercase + border_color=$(echo "#$extracted" | tr '[:upper:]' '[:lower:]') + fi + fi + fi + + # Fallback if no border color found + if [ -z "$border_color" ]; then + # Use a color between bg and fg + read -r r1 g1 b1 <<<"$(hex_to_rgb "$bg_color")" + read -r r2 g2 b2 <<<"$(hex_to_rgb "$fg_color")" + local r=$(((r1 + r2) / 3)) # Closer to background + local g=$(((g1 + g2) / 3)) + local b=$(((b1 + b2) / 3)) + border_color=$(printf "#%02x%02x%02x" "$r" "$g" "$b") + fi + + # Get unique colors array (without bg/fg) sorted by frequency + local -a unique_colors + readarray -t unique_colors < <(echo "$filtered_data" | sort_colors_by_frequency) + + # Fill the 13 color slots (code colors handled separately) + local -a color_slots + readarray -t color_slots < <(fill_color_slots "${unique_colors[@]}" | tr ' ' '\n') + + # Extract fonts + local monospace_font="CaskaydiaMono Nerd Font" + local ui_font="Liberation Sans" + + if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then + local alacritty_font=$(grep -A 5 "\[font\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep 'family = ' | head -1 | cut -d'"' -f2) + [ -n "$alacritty_font" ] && monospace_font="$alacritty_font" + fi + + if [ -f "$HOME/.config/fontconfig/fonts.conf" ]; then + local fontconfig_mono=$(xmlstarlet sel -t -v '//match[@target="pattern"][test/string="monospace"]/edit[@name="family"]/string' "$HOME/.config/fontconfig/fonts.conf" 2>/dev/null || true) + [ -n "$fontconfig_mono" ] && monospace_font="$fontconfig_mono" + + local fontconfig_sans=$(xmlstarlet sel -t -v '//match[@target="pattern"][test/string="sans-serif"]/edit[@name="family"]/string' "$HOME/.config/fontconfig/fonts.conf" 2>/dev/null || true) + [ -n "$fontconfig_sans" ] && ui_font="$fontconfig_sans" + fi + + # Generate CSS with 14-slot system + cat </dev/null || echo "unknown")") */ +/* Colors sorted by frequency, backgrounds by distance */ + +.theme-dark, .theme-light { + /* Core colors */ + --background-primary: $bg_color; + --text-normal: $fg_color; + + /* Background variations (always distance-based) */ + --background-primary-alt: $bg_primary_alt; + --background-secondary: $bg_secondary; + --background-secondary-alt: $bg_secondary_alt; + + /* Code block colors (always distance-based) */ + --code-background: $code_bg; + --code-foreground: $code_fg; + + /* Border color from btop theme */ + --border-color: $border_color; + + /* Selection colors from Alacritty */ + --text-selection: $selection_bg; + --text-selection-fg: $selection_fg; + + /* 13-slot color system for remaining elements */ + --text-title-h1: ${color_slots[0]}; + --text-title-h2: ${color_slots[1]}; + --text-title-h3: ${color_slots[2]}; + --text-title-h4: ${color_slots[3]}; + --text-title-h5: ${color_slots[4]}; + --text-title-h6: ${color_slots[4]}; /* Same as h5 */ + --text-link: ${color_slots[5]}; + --markup-code: ${color_slots[6]}; + --text-mark: ${color_slots[7]}; + --interactive-accent: ${color_slots[8]}; + --blockquote-border: ${color_slots[9]}; + --text-muted: $border_color; /* Use border color for muted text */ + --text-faint: $border_color; /* Use border color for faint text */ + + /* Additional mappings */ + --text-accent: var(--interactive-accent); + --text-accent-hover: var(--interactive-accent); + --text-error: var(--text-title-h1); + --text-error-hover: var(--text-title-h1); + --text-highlight-bg: $fg_color; /* Use text color as highlight background */ + --text-on-accent: $bg_color; + + --interactive-normal: var(--code-background); + --interactive-hover: var(--interactive-accent); + --interactive-accent-hover: var(--interactive-accent); + --interactive-success: var(--text-title-h2); + + --scrollbar-bg: var(--background-primary); + --scrollbar-thumb-bg: var(--code-background); + --scrollbar-active-thumb-bg: var(--interactive-accent); + + --background-modifier-border: var(--border-color); + --background-modifier-form-field: var(--code-background); + --background-modifier-form-field-highlighted: var(--code-background); + --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); + --background-modifier-success: var(--interactive-success); + --background-modifier-error: var(--text-error); + --background-modifier-error-hover: var(--text-error); + --background-modifier-cover: rgba(0, 0, 0, 0.8); + + --link-color: var(--text-link); + --link-color-hover: var(--text-link); + --link-unresolved-color: var(--text-muted); + --link-unresolved-opacity: 0.7; + + --tag-color: var(--text-title-h3); + --tag-background: var(--code-background); + + --graph-line: var(--text-muted); + --graph-node: var(--interactive-accent); + --graph-node-unresolved: var(--text-muted); + --graph-node-focused: var(--text-link); + --graph-node-tag: var(--text-title-h3); + --graph-node-attachment: var(--text-title-h2); + + /* Fonts */ + --font-interface-theme: "$ui_font"; + --font-text-theme: "$ui_font"; + --font-monospace-theme: "$monospace_font"; +} + +/* Headers */ +.cm-header-1, .markdown-rendered h1 { color: var(--text-title-h1); } +.cm-header-2, .markdown-rendered h2 { color: var(--text-title-h2); } +.cm-header-3, .markdown-rendered h3 { color: var(--text-title-h3); } +.cm-header-4, .markdown-rendered h4 { color: var(--text-title-h4); } +.cm-header-5, .markdown-rendered h5 { color: var(--text-title-h5); } +.cm-header-6, .markdown-rendered h6 { color: var(--text-title-h6); } + +/* Code blocks */ +.markdown-rendered code { + font-family: var(--font-monospace-theme); + background-color: var(--code-background); + color: var(--markup-code); + padding: 2px 4px; + border-radius: 3px; +} + +.markdown-rendered pre { + background-color: var(--code-background); + border: 1px solid var(--background-modifier-border); + border-radius: 5px; +} + +.markdown-rendered pre code { + background-color: transparent; + color: var(--code-foreground); +} + +/* Syntax highlighting */ +.cm-s-obsidian span.cm-keyword { color: var(--text-title-h1); } +.cm-s-obsidian span.cm-string { color: var(--text-title-h2); } +.cm-s-obsidian span.cm-number { color: var(--text-title-h3); } +.cm-s-obsidian span.cm-comment { color: var(--text-muted); } +.cm-s-obsidian span.cm-operator { color: var(--text-link); } +.cm-s-obsidian span.cm-variable { color: var(--text-normal); } +.cm-s-obsidian span.cm-def { color: var(--text-link); } + +/* Highlighted text */ +.markdown-rendered mark, +.cm-s-obsidian span.cm-highlight, +mark { + background-color: var(--text-highlight-bg) !important; + color: var(--code-background) !important; +} + +/* Links */ +.markdown-rendered a { + color: var(--text-link); +} + +/* Blockquotes */ +.markdown-rendered blockquote { + border-left: 4px solid var(--blockquote-border); + padding-left: 1em; +} + +/* Status bar */ +.status-bar { + background-color: var(--code-background); + border-top: 1px solid var(--background-modifier-border); +} + +/* Active file */ +.workspace-leaf.mod-active .workspace-leaf-header-title { + color: var(--interactive-accent); +} + +.nav-file-title.is-active { + background-color: var(--code-background); + color: var(--interactive-accent); +} + +/* Text selection */ +::selection { + background-color: var(--text-selection); + color: var(--text-selection-fg); +} + +/* Search results */ +.search-result-file-title { + color: var(--interactive-accent); +} + +.search-result-file-match { + background-color: var(--code-background); + color: var(--text-normal); + border-left: 3px solid var(--interactive-accent); +} + +.search-result-file-matched-text { + color: var(--code-background); +} + +/* Tables */ +.markdown-rendered table { + border: 1px solid var(--background-modifier-border); +} + +.markdown-rendered th { + background-color: var(--code-background); + color: var(--text-accent); +} + +.markdown-rendered td { + border: 1px solid var(--background-modifier-border); +} + +/* Callouts */ +.callout { + border-left: 4px solid var(--interactive-accent); + background-color: var(--code-background); +} +.callout * { + color: var(--text-normal); +} + +/* Modal dialogs */ +.modal { + background-color: var(--background-primary); + border: 2px solid var(--background-modifier-border); +} + +/* Settings */ +.vertical-tab-header-group-title { + color: var(--interactive-accent); +} + +.vertical-tab-nav-item.is-active { + background-color: var(--code-background); + color: var(--interactive-accent); +} +EOF +} + +# Option handling +if [ "${1:-}" = "--reset" ]; then + echo "♻️ Resetting Omarchy themes and registry..." + if [ -f "$VAULTS_FILE" ] && [ -s "$VAULTS_FILE" ]; then + while IFS= read -r vault_path || [ -n "$vault_path" ]; do + case "$vault_path" in ""|\#*) continue ;; esac + vault_path="${vault_path%/}" + vault_name=$(basename "$vault_path") + theme_dir="$vault_path/.obsidian/themes/Omarchy" + if [ -d "$theme_dir" ]; then + rm -rf "$theme_dir" + echo " ✅ $vault_name (theme removed)" + else + echo " ℹ️ $vault_name (no theme present)" + fi + done <"$VAULTS_FILE" + fi + rm -f "$VAULTS_FILE" + echo "✅ Registry removed" + exit 0 +fi + +# Main update logic +echo "🔄 Updating Obsidian vaults..." + +# Step 1: ensure registry exists (bootstrap if needed) +ensure_vaults_file + +while IFS= read -r vault_path || [ -n "$vault_path" ]; do + case "$vault_path" in "" | \#*) continue ;; esac + vault_path="${vault_path%/}" + vault_name=$(basename "$vault_path") + + # Step 2: verify path exists; log/skip gracefully if invalid + if [ ! -d "$vault_path" ] || [ ! -d "$vault_path/.obsidian" ]; then + echo " ❌ $vault_name (invalid entry: missing directory or .obsidian)" + continue + fi + + # Ensure theme files exist for this vault + ensure_theme_scaffold "$vault_path" + THEME_DIR="$vault_path/.obsidian/themes/Omarchy" + + # Step 3: update theme.css + if [ -f "$CURRENT_THEME_DIR/obsidian.css" ]; then + cp "$CURRENT_THEME_DIR/obsidian.css" "$THEME_DIR/theme.css" + echo " ✅ $vault_name (custom theme)" + else + extract_theme_data >"$THEME_DIR/theme.css" + echo " ✅ $vault_name (generated theme)" + fi +done <"$VAULTS_FILE" diff --git a/migrations/1760441237.sh b/migrations/1760441237.sh new file mode 100644 index 00000000..1c2d89d3 --- /dev/null +++ b/migrations/1760441237.sh @@ -0,0 +1,3 @@ +echo "Install Omarchy theme on Obsidian vaults" + +omarchy-theme-set-obsidian From a874f6f8a60f09b8153b4ff161d4f4e881a7326f Mon Sep 17 00:00:00 2001 From: Claudio Benvenuti Date: Fri, 17 Oct 2025 11:27:02 +0200 Subject: [PATCH 174/209] Fix: include symlinked backgrounds in theme rotation (#2355) --- bin/omarchy-theme-bg-next | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-theme-bg-next b/bin/omarchy-theme-bg-next index 94aa4e70..52c1355e 100755 --- a/bin/omarchy-theme-bg-next +++ b/bin/omarchy-theme-bg-next @@ -5,7 +5,7 @@ BACKGROUNDS_DIR="$HOME/.config/omarchy/current/theme/backgrounds/" CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background" -mapfile -d '' -t BACKGROUNDS < <(find "$BACKGROUNDS_DIR" -type f -print0 | sort -z) +mapfile -d '' -t BACKGROUNDS < <(find -L "$BACKGROUNDS_DIR" -type f -print0 | sort -z) TOTAL=${#BACKGROUNDS[@]} if [[ $TOTAL -eq 0 ]]; then From 1a1c7369361f62aba3d7a894754380cd6a40e1ca Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 17 Oct 2025 12:50:02 +0300 Subject: [PATCH 175/209] Make setting timezone an explicit act Since we can't always rely on geo guessing everywhere and it is slow --- bin/omarchy-cmd-tzupdate | 8 -------- bin/omarchy-menu | 2 +- bin/omarchy-tz-select | 6 ++++++ config/waybar/config.jsonc | 2 +- migrations/1760693222.sh | 3 +++ 5 files changed, 11 insertions(+), 10 deletions(-) delete mode 100755 bin/omarchy-cmd-tzupdate create mode 100755 bin/omarchy-tz-select create mode 100644 migrations/1760693222.sh diff --git a/bin/omarchy-cmd-tzupdate b/bin/omarchy-cmd-tzupdate deleted file mode 100755 index eb39bf0a..00000000 --- a/bin/omarchy-cmd-tzupdate +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -notify-send " Updating time and timezone..." -sudo systemctl restart systemd-timesyncd -sudo tzupdate -new_timezone=$(timedatectl show -p Timezone --value) -omarchy-restart-waybar -notify-send " Time updated and timezone set to $new_timezone" diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 1dea5905..fa62d198 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -395,7 +395,7 @@ show_update_menu() { *Process*) show_update_process_menu ;; *Hardware*) show_update_hardware_menu ;; *Firmware*) present_terminal omarchy-update-firmware ;; - *Timezone*) omarchy-cmd-tzupdate ;; + *Timezone*) present_terminal omarchy-tz-select ;; *Password*) show_update_password_menu ;; *) show_main_menu ;; esac diff --git a/bin/omarchy-tz-select b/bin/omarchy-tz-select new file mode 100755 index 00000000..24003228 --- /dev/null +++ b/bin/omarchy-tz-select @@ -0,0 +1,6 @@ +#!/bin/bash + +timezone=$(timedatectl list-timezones | gum filter --height 20 --header "Set timezone") || exit 1 +sudo timedatectl set-timezone "$timezone" +echo "Timezone is now set to $timezone" +omarchy-restart-waybar diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index adb981ae..8db620ba 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -61,7 +61,7 @@ "format": "{:L%A %H:%M}", "format-alt": "{:L%d %B W%V %Y}", "tooltip": false, - "on-click-right": "omarchy-cmd-tzupdate" + "on-click-right": "omarchy-launch-floating-terminal-with-presentation omarchy-tz-select" }, "network": { "format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"], diff --git a/migrations/1760693222.sh b/migrations/1760693222.sh new file mode 100644 index 00000000..cc9828e8 --- /dev/null +++ b/migrations/1760693222.sh @@ -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 From 648551f98afa347d9b60adb0533b6fa541b78270 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 17 Oct 2025 14:00:49 -0400 Subject: [PATCH 176/209] Add shift+insert keybind --- config/kitty/kitty.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index feb09fd3..88413ad7 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -14,6 +14,7 @@ confirm_os_window_close 0 # Keybindings map ctrl+insert copy_to_clipboard +map shift+insert paste_from_clipboard # Allow remote access single_instance yes From 0b1875e2b934124dc7035b67c1b35418da2147b6 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 17 Oct 2025 14:15:31 -0400 Subject: [PATCH 177/209] Include Aether by default --- install/omarchy-base.packages | 1 + 1 file changed, 1 insertion(+) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index df977801..5df489c4 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -3,6 +3,7 @@ 1password-beta 1password-cli +aether alacritty asdcontrol avahi From 0588cc8e5b76c8ff4cdf1c08e8657983dac9e307 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 17 Oct 2025 15:44:13 -0400 Subject: [PATCH 178/209] openai-codex-bin -> openai-codex due to being outdated --- migrations/1760724931.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 migrations/1760724931.sh diff --git a/migrations/1760724931.sh b/migrations/1760724931.sh new file mode 100644 index 00000000..f418914d --- /dev/null +++ b/migrations/1760724931.sh @@ -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 From cad71169c2ba029d5de444072e081613ac8aa76c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 17 Oct 2025 23:38:16 +0200 Subject: [PATCH 179/209] Add Aether to existing installations as well --- migrations/1760730253.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 migrations/1760730253.sh diff --git a/migrations/1760730253.sh b/migrations/1760730253.sh new file mode 100644 index 00000000..a67a0063 --- /dev/null +++ b/migrations/1760730253.sh @@ -0,0 +1,3 @@ +echo "Install Aether for Omarchy theme creation" + +omarchy-pkg-add aether From 5a10222dc9743e89ebf6911061e160d9b63f7b02 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 17 Oct 2025 23:45:38 +0200 Subject: [PATCH 180/209] No longer needed We are moving all the bindings together --- migrations/1759946485.sh | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 migrations/1759946485.sh diff --git a/migrations/1759946485.sh b/migrations/1759946485.sh deleted file mode 100644 index fda6e73e..00000000 --- a/migrations/1759946485.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Move calendar to SUPER + SHIFT + C" -sed -i 's/bindd = SUPER, C, Calendar, exec, omarchy-launch-webapp "https:\/\/app\.hey\.com\/calendar\/weeks\/"/bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https:\/\/app.hey.com\/calendar\/weeks\/"/' ~/.config/hypr/*.conf From 5a2a49c999e330dd8d8ac2951608f78b10d68a9b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 17 Oct 2025 23:48:20 +0200 Subject: [PATCH 181/209] Note that accepting will change existing bindings but make a backup --- migrations/1760462260.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/migrations/1760462260.sh b/migrations/1760462260.sh index b604169b..3dc37750 100644 --- a/migrations/1760462260.sh +++ b/migrations/1760462260.sh @@ -9,9 +9,11 @@ cat < Date: Fri, 17 Oct 2025 23:51:25 +0200 Subject: [PATCH 182/209] Add missing CR --- migrations/1760462260.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrations/1760462260.sh b/migrations/1760462260.sh index 3dc37750..bbed6cce 100644 --- a/migrations/1760462260.sh +++ b/migrations/1760462260.sh @@ -9,7 +9,7 @@ cat < Date: Sat, 18 Oct 2025 12:00:07 +0200 Subject: [PATCH 183/209] Remove wayfreeze until we have the AUR pkg built in OPR CC @ryanrhughes --- bin/omarchy-cmd-screenshot | 3 --- install/omarchy-base.packages | 1 - 2 files changed, 4 deletions(-) diff --git a/bin/omarchy-cmd-screenshot b/bin/omarchy-cmd-screenshot index f4450f89..c2a07aa3 100755 --- a/bin/omarchy-cmd-screenshot +++ b/bin/omarchy-cmd-screenshot @@ -22,13 +22,11 @@ get_rectangles() { # Select based on mode case "$MODE" in region) - wayfreeze & PID=$! sleep .1 SELECTION=$(slurp 2>/dev/null) kill $PID 2>/dev/null ;; windows) - wayfreeze & PID=$! sleep .1 SELECTION=$(get_rectangles | slurp -r 2>/dev/null) kill $PID 2>/dev/null @@ -38,7 +36,6 @@ case "$MODE" in ;; smart|*) RECTS=$(get_rectangles) - wayfreeze & PID=$! sleep .1 SELECTION=$(echo "$RECTS" | slurp 2>/dev/null) kill $PID 2>/dev/null diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 5df489c4..02bdfc2f 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -131,7 +131,6 @@ unzip uwsm walker waybar -wayfreeze whois wireless-regdb wiremix From ef2bfb37add35b422ffdd98fa734f7a108244197 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 12:11:50 +0200 Subject: [PATCH 184/209] Correct the clipboard manager hotkey --- migrations/1760462260.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrations/1760462260.sh b/migrations/1760462260.sh index bbed6cce..fec87d8c 100644 --- a/migrations/1760462260.sh +++ b/migrations/1760462260.sh @@ -2,7 +2,7 @@ echo -e "Offer new Omarchy hotkeys\n" cat < Date: Sat, 18 Oct 2025 12:15:55 +0200 Subject: [PATCH 185/209] Update clipboard manager shortcut in the migration warning (#2524) From e03193eea4a715d1e60f1195d7a3757452f2c2bf Mon Sep 17 00:00:00 2001 From: Vaibhav Verma <91726330+CantC0unt@users.noreply.github.com> Date: Sat, 18 Oct 2025 15:46:27 +0530 Subject: [PATCH 186/209] Fix omarchy-theme-set-vscode to only remove theme instead of the complete line (#2523) --- bin/omarchy-theme-set-vscode | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-theme-set-vscode b/bin/omarchy-theme-set-vscode index c1bc803c..c04010ca 100755 --- a/bin/omarchy-theme-set-vscode +++ b/bin/omarchy-theme-set-vscode @@ -41,7 +41,7 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then else # Remove theme from settings.json when the theme doesn't have $EDITOR_NAME support if [[ -f "$SETTINGS_PATH" ]]; then - sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$SETTINGS_PATH" + sed -i --follow-symlinks -E 's/\"workbench\.colorTheme\"[[:space:]]*:[^,}]*,?//' "$SETTINGS_PATH" fi fi fi From c401c877a3405558138a93b320ad14dcdc28401e Mon Sep 17 00:00:00 2001 From: Vaibhav Verma <91726330+CantC0unt@users.noreply.github.com> Date: Sat, 18 Oct 2025 15:48:01 +0530 Subject: [PATCH 187/209] Fix theming for Brave and add theming support for helium (#2518) * Fix theeming for Brave and add theeming support for helium * bugfix: syntax --- bin/omarchy-theme-set-browser | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-theme-set-browser b/bin/omarchy-theme-set-browser index bf316224..81443091 100755 --- a/bin/omarchy-theme-set-browser +++ b/bin/omarchy-theme-set-browser @@ -2,10 +2,10 @@ CHROMIUM_THEME=~/.config/omarchy/current/theme/chromium.theme -if omarchy-cmd-present chromium || omarchy-cmd-present brave; then +if omarchy-cmd-present chromium || omarchy-cmd-present helium-browser || omarchy-cmd-present brave; then if [[ -f $CHROMIUM_THEME ]]; then THEME_RGB_COLOR=$(<$CHROMIUM_THEME) - THEME_HEX_COLOR=$(printf '#%02x%02x%02x' ${rgb//,/ }) + THEME_HEX_COLOR=$(printf '#%02x%02x%02x' ${THEME_RGB_COLOR//,/ }) else # Use a default, neutral grey if theme doesn't have a color THEME_RGB_COLOR="28,32,39" @@ -23,6 +23,11 @@ if omarchy-cmd-present chromium || omarchy-cmd-present brave; then fi fi + if omarchy-cmd-present helium-browser; then + echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\"}" | tee "/etc/chromium/policies/managed/color.json" >/dev/null + helium-browser --no-startup-window --refresh-platform-policy + fi + if omarchy-cmd-present brave; then echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\"}" | tee "/etc/brave/policies/managed/color.json" >/dev/null brave --refresh-platform-policy --no-startup-window From 80907fcf4f3a389e9363c51896c43d0b9f49a1ce Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 13:30:19 +0200 Subject: [PATCH 188/209] Ensure we use 644 for all configs and migrations --- install/config/fast-shutdown.sh | 0 migrations/1757535736.sh | 0 migrations/1758487660_change_dm_to_sddm.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 install/config/fast-shutdown.sh mode change 100755 => 100644 migrations/1757535736.sh mode change 100755 => 100644 migrations/1758487660_change_dm_to_sddm.sh diff --git a/install/config/fast-shutdown.sh b/install/config/fast-shutdown.sh old mode 100755 new mode 100644 diff --git a/migrations/1757535736.sh b/migrations/1757535736.sh old mode 100755 new mode 100644 diff --git a/migrations/1758487660_change_dm_to_sddm.sh b/migrations/1758487660_change_dm_to_sddm.sh old mode 100755 new mode 100644 From 920b1a983f98195e6b48fa270ad63defca521cba Mon Sep 17 00:00:00 2001 From: brink-lab Date: Sat, 18 Oct 2025 13:32:38 +0200 Subject: [PATCH 189/209] Fix spacing between icons on Waybar (#1411) * Update style.css Fixes the uneven spacing between icons on waybar by updating styling.css with Propo font family. However, Propo introduces a small issue as the volume icons don't have the same with. As a consequence, icons left of volume will move based on the displayed volume icon. To solve this, I added a non-Propo font to the pipewire module as well - this way the volume icons have fixed length but eats a bit into the spacing towards the CPU icon. But I see this as the best trade-off. * Update waybar config.jsonc * Update tray spacing in waybar config * Modify margins in style.css Adjusted margins for various elements. * Update waybar css for even spacing * Update Waybar config tray spacing --- config/waybar/config.jsonc | 4 ++-- config/waybar/style.css | 19 ++++++++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index 8db620ba..8fe19a3c 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -122,7 +122,7 @@ "modules": ["custom/expand-icon", "tray"] }, "custom/expand-icon": { - "format": " ", + "format": "", "tooltip": false }, "custom/screenrecording-indicator": { @@ -133,6 +133,6 @@ }, "tray": { "icon-size": 12, - "spacing": 12 + "spacing": 17 } } diff --git a/config/waybar/style.css b/config/waybar/style.css index 2cf371b3..f2b1e9fe 100644 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -7,7 +7,7 @@ border: none; border-radius: 0; min-height: 0; - font-family: CaskaydiaMono Nerd Font; + font-family: 'CaskaydiaMono Nerd Font'; font-size: 12px; } @@ -30,11 +30,8 @@ opacity: 0.5; } -#tray, #cpu, #battery, -#network, -#bluetooth, #pulseaudio, #custom-omarchy, #custom-screenrecording-indicator, @@ -43,8 +40,20 @@ margin: 0 7.5px; } +#tray { + margin-right: 16px; +} + +#bluetooth { + margin-right: 17px; +} + +#network { + margin-right: 13px; +} + #custom-expand-icon { - margin-right: 7px; + margin-right: 20px; } tooltip { From 6790cfc1f5044d98de0c834bff688415236166cd Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 13:40:23 +0200 Subject: [PATCH 190/209] Fix spacing for waybar icons for all --- migrations/1760787158.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 migrations/1760787158.sh diff --git a/migrations/1760787158.sh b/migrations/1760787158.sh new file mode 100644 index 00000000..f57cc77d --- /dev/null +++ b/migrations/1760787158.sh @@ -0,0 +1,3 @@ +echo "Update Waybar styles for better spacing between icons" + +omarchy-refresh-config waybar/style.css From 63e3b3e32f83733e1a9398ffca413c5e6c044173 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 15:34:40 +0200 Subject: [PATCH 191/209] Hide yet another fcitx5 filler app --- applications/hidden/fcitx5-wayland-launcher.desktop | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 applications/hidden/fcitx5-wayland-launcher.desktop diff --git a/applications/hidden/fcitx5-wayland-launcher.desktop b/applications/hidden/fcitx5-wayland-launcher.desktop new file mode 100644 index 00000000..e1e3e173 --- /dev/null +++ b/applications/hidden/fcitx5-wayland-launcher.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true From 24e76a3b90c706cf34e2743050ed259725e1dc66 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 16:11:49 +0200 Subject: [PATCH 192/209] Add hooks for theme set, font set, and post update (#2527) Ala git hooks --- bin/omarchy-font-set | 2 ++ bin/omarchy-hook | 14 ++++++++++++++ bin/omarchy-theme-set | 3 +++ bin/omarchy-update-perform | 1 + config/omarchy/hooks/font-set.sample | 7 +++++++ config/omarchy/hooks/post-update.sample | 7 +++++++ config/omarchy/hooks/theme-set.sample | 7 +++++++ 7 files changed, 41 insertions(+) create mode 100755 bin/omarchy-hook create mode 100644 config/omarchy/hooks/font-set.sample create mode 100644 config/omarchy/hooks/post-update.sample create mode 100644 config/omarchy/hooks/theme-set.sample diff --git a/bin/omarchy-font-set b/bin/omarchy-font-set index 5ac0ef4b..6cc312d0 100755 --- a/bin/omarchy-font-set +++ b/bin/omarchy-font-set @@ -28,6 +28,8 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then omarchy-restart-waybar omarchy-restart-swayosd omarchy-restart-walker + + omarchy-hook font-set "$font_name" else echo "Font '$font_name' not found." exit 1 diff --git a/bin/omarchy-hook b/bin/omarchy-hook new file mode 100755 index 00000000..caa83988 --- /dev/null +++ b/bin/omarchy-hook @@ -0,0 +1,14 @@ +#!/bin/bash + +if [[ $# -lt 1 ]]; then + echo "Usage: omarchy-hook [name] [args...]" + exit 1 +fi + +HOOK=$1 +HOOK_PATH="$HOME/.config/omarchy/hooks/$1" +shift + +if [[ -f $HOOK_PATH ]]; then + bash "$HOOK_PATH" "$@" +fi diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index b729dee6..c90d11eb 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -39,3 +39,6 @@ omarchy-theme-set-browser omarchy-theme-set-vscode omarchy-theme-set-cursor omarchy-theme-set-obsidian + +# Call hook on theme set +omarchy-hook theme-set "$THEME_NAME" diff --git a/bin/omarchy-update-perform b/bin/omarchy-update-perform index f31e3c88..9e68a67b 100755 --- a/bin/omarchy-update-perform +++ b/bin/omarchy-update-perform @@ -5,4 +5,5 @@ set -e omarchy-update-available-reset omarchy-update-system-pkgs omarchy-migrate +omarchy-hook post-update omarchy-update-restart diff --git a/config/omarchy/hooks/font-set.sample b/config/omarchy/hooks/font-set.sample new file mode 100644 index 00000000..36d8c3ec --- /dev/null +++ b/config/omarchy/hooks/font-set.sample @@ -0,0 +1,7 @@ +#!/bin/bash + +# This hook is called with the snake-cased name of the font that has just been set. +# To put it into use, remove .sample from the name. + +# Example: Show the name of the theme that was just set. +# notify-send "New font" "Your new font is $1" diff --git a/config/omarchy/hooks/post-update.sample b/config/omarchy/hooks/post-update.sample new file mode 100644 index 00000000..486352e5 --- /dev/null +++ b/config/omarchy/hooks/post-update.sample @@ -0,0 +1,7 @@ +#!/bin/bash + +# This hook is called after an Omarchy system update has been performed. +# To put it into use, remove .sample from the name. + +# Example: Show notification after the system has been updated. +# notify-send "Update Performed" "Your system is now up to date" diff --git a/config/omarchy/hooks/theme-set.sample b/config/omarchy/hooks/theme-set.sample new file mode 100644 index 00000000..b2a5fe1d --- /dev/null +++ b/config/omarchy/hooks/theme-set.sample @@ -0,0 +1,7 @@ +#!/bin/bash + +# This hook is called with the snake-cased name of the theme that has just been set. +# To put it into use, remove .sample from the name. + +# Example: Show the name of the theme that was just set. +# notify-send "New theme" "Your new theme is $1" From 53336e21b1479d57d31fb7e853ec2259c2140572 Mon Sep 17 00:00:00 2001 From: Hendrik Bergunde Date: Sat, 18 Oct 2025 16:17:23 +0200 Subject: [PATCH 193/209] Fix google-chrome opacity in hyprland (#2526) Google Chrome reports itself as google-chrome in `hyprctl clients` but the matching for the windowrule did not work, probably because since hyprland 0.46.0 the regex matching needs to span the entire string. This change makes "google-chrome" get recognized so that windows of that browser receive the chromium-based-browser tag, which in turn provides better opacity settings for Chrome windows. Since "chrome" was matched by the regex before, this fix now should restore the originally intended behavior for Google Chrome. Co-authored-by: David Heinemeier Hansson --- default/hypr/apps/browser.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/hypr/apps/browser.conf b/default/hypr/apps/browser.conf index b6df0072..cf9ae193 100644 --- a/default/hypr/apps/browser.conf +++ b/default/hypr/apps/browser.conf @@ -1,5 +1,5 @@ # Browser types -windowrule = tag +chromium-based-browser, class:([cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable|helium) +windowrule = tag +chromium-based-browser, class:((google-)?[cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable|helium) windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf) # Force chromium-based browsers into a tile to deal with --app bug From bc99b8ce960c87e6c4cc9893486682af0464c5d1 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 16:23:25 +0200 Subject: [PATCH 194/209] Walker now needs a default qalculate/qalc.cfg to work out of the box --- config/qalculate/qalc.cfg | 89 +++++++++++++++++++++++++++++++++++++++ migrations/1760796602.sh | 4 ++ 2 files changed, 93 insertions(+) create mode 100644 config/qalculate/qalc.cfg create mode 100644 migrations/1760796602.sh diff --git a/config/qalculate/qalc.cfg b/config/qalculate/qalc.cfg new file mode 100644 index 00000000..87e19dea --- /dev/null +++ b/config/qalculate/qalc.cfg @@ -0,0 +1,89 @@ +[General] +version=5.8.0 +save_config=1 +save_mode_on_exit=1 +save_definitions_on_exit=1 +clear_history_on_exit=0 +ignore_locale=0 +colorize=1 +auto_update_exchange_rates=-1 +spacious=1 +vertical_space=1 +excessive_parenthesis=0 +short_multiplication=1 +use_unicode_signs=1 +use_unicode_exponents=1 +lower_case_numbers=0 +duodecimal_symbols=0 +exp_display=1 +imaginary_j=0 +base_display=1 +binary_bits=0 +twos_complement=1 +hexadecimal_twos_complement=0 +twos_complement_input=0 +hexadecimal_twos_complement_input=0 +spell_out_logical_operators=1 +digit_grouping=0 +decimal_comma=-1 +dot_as_separator=-1 +comma_as_separator=0 +multiplication_sign=2 +division_sign=0 + +[Mode] +min_deci=0 +use_min_deci=0 +max_deci=2 +use_max_deci=0 +precision=10 +interval_arithmetic=1 +interval_display=0 +min_exp=-1 +negative_exponents=0 +sort_minus_last=1 +number_fraction_format=-1 +complex_number_form=0 +use_prefixes=1 +use_prefixes_for_all_units=0 +use_prefixes_for_currencies=0 +use_binary_prefixes=0 +abbreviate_names=1 +all_prefixes_enabled=0 +denominator_prefix_enabled=1 +place_units_separately=1 +auto_post_conversion=3 +mixed_units_conversion=3 +local_currency_conversion=1 +number_base=10 +number_base_expression=10 +read_precision=0 +assume_denominators_nonzero=1 +warn_about_denominators_assumed_nonzero=1 +structuring=1 +angle_unit=1 +caret_as_xor=0 +concise_uncertainty_input=0 +functions_enabled=1 +variables_enabled=1 +calculate_variables=1 +calculate_functions=1 +variable_units_enabled=1 +sync_units=1 +unknownvariables_enabled=0 +units_enabled=1 +allow_complex=1 +allow_infinite=1 +indicate_infinite_series=0 +show_ending_zeroes=1 +rounding_mode=0 +approximation=-1 +interval_calculation=1 +in_rpn_mode=0 +rpn_syntax=0 +limit_implicit_multiplication=0 +parsing_mode=0 +simplified_percentage=-1 +default_assumption_type=4 +default_assumption_sign=0 + diff --git a/migrations/1760796602.sh b/migrations/1760796602.sh new file mode 100644 index 00000000..5a48e5b7 --- /dev/null +++ b/migrations/1760796602.sh @@ -0,0 +1,4 @@ +echo "Setup qalculate config for Walker to use" + +mkdir -p ~/.config/qalculate +omarchy-refresh-config qalculate/qalc.cfg From 3bf7c1590681c48e8a2ecc5b0cd9119c5da1b67a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 20:05:01 +0200 Subject: [PATCH 195/209] Relaunching Hyprland is not compatible with sddm But it is also no longer necessary since ENVs are dynamically reloaded --- bin/omarchy-menu | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index fa62d198..e9c4a692 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -451,11 +451,10 @@ show_update_password_menu() { } show_system_menu() { - case $(menu "System" " Lock\n󱄄 Screensaver\n󰤄 Suspend\n Relaunch\n󰜉 Restart\n󰐥 Shutdown") in + case $(menu "System" " Lock\n󱄄 Screensaver\n󰤄 Suspend\n󰜉 Restart\n󰐥 Shutdown") in *Lock*) omarchy-lock-screen ;; *Screensaver*) omarchy-launch-screensaver force ;; *Suspend*) systemctl suspend ;; - *Relaunch*) omarchy-state clear relaunch-required && hyprctl dispatch exit ;; *Restart*) omarchy-state clear re*-required && systemctl reboot --no-wall ;; *Shutdown*) omarchy-state clear re*-required && systemctl poweroff --no-wall ;; *) back_to show_main_menu ;; From fc4cf864879fce42c69a1846a20fa055db4c0cba Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 20:08:42 +0200 Subject: [PATCH 196/209] We can no longer just relaunch hyprland So restart it is --- bin/omarchy-install-terminal | 4 ++-- bin/omarchy-update-restart | 3 --- config/uwsm/default | 2 +- config/uwsm/env | 2 +- migrations/1758019332.sh | 2 +- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/bin/omarchy-install-terminal b/bin/omarchy-install-terminal index 68285068..fbb0c0b3 100755 --- a/bin/omarchy-install-terminal +++ b/bin/omarchy-install-terminal @@ -14,6 +14,6 @@ omarchy-pkg-add $package echo "Setting $package as new default terminal..." sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default -# Relaunch is needed for new default to take effect +# Restart is needed for new default to take effect echo -gum confirm "Relaunch Hyprland to use new terminal?" && uwsm stop +gum confirm "Restart to use new terminal?" && systemctl reboot --no-wall diff --git a/bin/omarchy-update-restart b/bin/omarchy-update-restart index 513cf80b..2811e937 100755 --- a/bin/omarchy-update-restart +++ b/bin/omarchy-update-restart @@ -5,9 +5,6 @@ if [ "$(uname -r | sed 's/-arch/\.arch/')" != "$(pacman -Q linux | awk '{print $ elif [ -f "$HOME/.local/state/omarchy/reboot-required" ]; then gum confirm "Updates require reboot. Ready?" && omarchy-state clear re*-required && sudo reboot now - -elif [ -f "$HOME/.local/state/omarchy/relaunch-required" ]; then - gum confirm "Updates require Hyprland relaunch. Ready?" && omarchy-state clear re*-required && uwsm stop fi for file in "$HOME"/.local/state/omarchy/restart-*-required; do diff --git a/config/uwsm/default b/config/uwsm/default index c072e320..fa7f656d 100644 --- a/config/uwsm/default +++ b/config/uwsm/default @@ -1,4 +1,4 @@ -# Changes require a relaunch of Hyprland to take effect. +# Changes require a restart to take effect. export TERMINAL=alacritty export EDITOR=nvim diff --git a/config/uwsm/env b/config/uwsm/env index 4fbfa76c..065fcdac 100644 --- a/config/uwsm/env +++ b/config/uwsm/env @@ -1,4 +1,4 @@ -# Changes require a relaunch of Hyprland to take effect. +# Changes require a restart to take effect. # Ensure Omarchy bins are in the path export OMARCHY_PATH=$HOME/.local/share/omarchy diff --git a/migrations/1758019332.sh b/migrations/1758019332.sh index 520a222d..defe97ab 100644 --- a/migrations/1758019332.sh +++ b/migrations/1758019332.sh @@ -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 From 5028e241c561948b1c010aa620a8a9ac4d95a84a Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 18 Oct 2025 14:27:07 -0400 Subject: [PATCH 197/209] Install Node by default --- install/config/mise-work.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/install/config/mise-work.sh b/install/config/mise-work.sh index 15d71923..64ba12d0 100644 --- a/install/config/mise-work.sh +++ b/install/config/mise-work.sh @@ -7,3 +7,19 @@ _.path = "{{ cwd }}/bin" EOF mise trust ~/Work/.mise.toml + +if [[ -n "${OMARCHY_CHROOT_INSTALL:-}" ]]; then + NODE_TARBALL=$(find /opt/packages -name "node-v*-linux-x64.tar.gz" -type f 2>/dev/null | head -n1) + + NODE_VERSION=$(basename "$NODE_TARBALL" | sed 's/node-v\(.*\)-linux-x64.tar.gz/\1/') + NODE_INSTALL_DIR="$HOME/.local/share/mise/installs/node/$NODE_VERSION" + + mkdir -p "$NODE_INSTALL_DIR" + tar -xzf "$NODE_TARBALL" \ + --strip-components=1 \ + -C "$NODE_INSTALL_DIR" + + mise use -g node@"$NODE_VERSION" +else + mise use -g node@latest +fi From dc00227f0a97ec6a9bbcc8275af423d74a110b8f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 21:08:57 +0200 Subject: [PATCH 198/209] Fix all themes active border for groups to match regular active border --- themes/catppuccin-latte/hyprland.conf | 7 ++++++- themes/catppuccin/hyprland.conf | 8 +++++++- themes/everforest/hyprland.conf | 8 +++++++- themes/flexoki-light/hyprland.conf | 8 +++++++- themes/gruvbox/hyprland.conf | 8 +++++++- themes/kanagawa/hyprland.conf | 8 +++++++- themes/matte-black/hyprland.conf | 8 +++++++- themes/nord/hyprland.conf | 8 +++++++- themes/osaka-jade/hyprland.conf | 9 +++++++-- themes/ristretto/hyprland.conf | 9 +++++++-- themes/rose-pine/hyprland.conf | 8 +++++++- themes/tokyo-night/hyprland.conf | 8 +++++++- 12 files changed, 83 insertions(+), 14 deletions(-) diff --git a/themes/catppuccin-latte/hyprland.conf b/themes/catppuccin-latte/hyprland.conf index afc429d4..4a72d792 100644 --- a/themes/catppuccin-latte/hyprland.conf +++ b/themes/catppuccin-latte/hyprland.conf @@ -1,4 +1,9 @@ +$activeBorderColor = rgb(1e66f5) + general { - col.active_border = rgb(1e66f5) + col.active_border = $activeBorderColor } +group { + col.border_active = $activeBorderColor +} diff --git a/themes/catppuccin/hyprland.conf b/themes/catppuccin/hyprland.conf index 46ff7e64..da3374ba 100644 --- a/themes/catppuccin/hyprland.conf +++ b/themes/catppuccin/hyprland.conf @@ -1,3 +1,9 @@ +$activeBorderColor = rgb(c6d0f5) + general { - col.active_border = rgb(c6d0f5) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/everforest/hyprland.conf b/themes/everforest/hyprland.conf index e88f030c..10e2c5d4 100644 --- a/themes/everforest/hyprland.conf +++ b/themes/everforest/hyprland.conf @@ -1,3 +1,9 @@ +$activeBorderColor = rgb(d3c6aa) + general { - col.active_border = rgb(d3c6aa) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/flexoki-light/hyprland.conf b/themes/flexoki-light/hyprland.conf index 4e4b20a0..1baef471 100644 --- a/themes/flexoki-light/hyprland.conf +++ b/themes/flexoki-light/hyprland.conf @@ -1,3 +1,9 @@ +$activeBorderColor = rgba(205EA6ee) + general { - col.active_border = rgba(205EA6ee) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/gruvbox/hyprland.conf b/themes/gruvbox/hyprland.conf index 85dbf144..029cc908 100644 --- a/themes/gruvbox/hyprland.conf +++ b/themes/gruvbox/hyprland.conf @@ -1,3 +1,9 @@ +$activeBorderColor = rgb(a89984) + general { - col.active_border = rgb(a89984) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/kanagawa/hyprland.conf b/themes/kanagawa/hyprland.conf index 5153e8a8..b5b6403a 100644 --- a/themes/kanagawa/hyprland.conf +++ b/themes/kanagawa/hyprland.conf @@ -1,5 +1,11 @@ +$activeBorderColor = rgb(dcd7ba) + general { - col.active_border = rgb(dcd7ba) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } # Kanagawa backdrop is too strong for detault opacity diff --git a/themes/matte-black/hyprland.conf b/themes/matte-black/hyprland.conf index bb90b384..4fd7ff60 100644 --- a/themes/matte-black/hyprland.conf +++ b/themes/matte-black/hyprland.conf @@ -1,3 +1,9 @@ +$activeBorderColor = rgb(8A8A8D) + general { - col.active_border = rgb(8A8A8D) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/nord/hyprland.conf b/themes/nord/hyprland.conf index bce729fe..ac91e8bb 100644 --- a/themes/nord/hyprland.conf +++ b/themes/nord/hyprland.conf @@ -1,3 +1,9 @@ +$activeBorderColor = rgb(D8DEE9) + general { - col.active_border = rgb(D8DEE9) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/osaka-jade/hyprland.conf b/themes/osaka-jade/hyprland.conf index 1b8b0a9b..fd7c0363 100644 --- a/themes/osaka-jade/hyprland.conf +++ b/themes/osaka-jade/hyprland.conf @@ -1,4 +1,9 @@ -# focus window color (border) +$activeBorderColor = rgb(71CEAD) + general { - col.active_border = rgb(71CEAD) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/ristretto/hyprland.conf b/themes/ristretto/hyprland.conf index d81a993b..d8ffcdb9 100644 --- a/themes/ristretto/hyprland.conf +++ b/themes/ristretto/hyprland.conf @@ -1,4 +1,9 @@ +$activeBorderColor = rgb(e6d9db) + general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - col.active_border = rgb(e6d9db) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/rose-pine/hyprland.conf b/themes/rose-pine/hyprland.conf index ae0f2b6b..34d47643 100644 --- a/themes/rose-pine/hyprland.conf +++ b/themes/rose-pine/hyprland.conf @@ -1,3 +1,9 @@ +$activeBorderColor = rgb(575279) + general { - col.active_border = rgb(575279) + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } diff --git a/themes/tokyo-night/hyprland.conf b/themes/tokyo-night/hyprland.conf index f0b824a1..779a27d4 100644 --- a/themes/tokyo-night/hyprland.conf +++ b/themes/tokyo-night/hyprland.conf @@ -1,4 +1,10 @@ +$activeBorderColor = rgba(33ccffee) rgba(00ff99ee) 45deg + general { - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor } From 735fc2d263599cb5e0627a380b836716bbffdfab Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 21:09:01 +0200 Subject: [PATCH 199/209] Fix indention --- default/hypr/looknfeel.conf | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index 488f4107..ec8aece3 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -61,18 +61,17 @@ group { indicator_height = 0 indicator_gap = 5 height = 22 - gaps_in = 5 - gaps_out = 0 + gaps_in = 5 + gaps_out = 0 text_color = rgb(ffffff) text_color_inactive = rgba(ffffff90) - col.active = rgba(00000040) - col.inactive = rgba(00000020) + col.active = rgba(00000040) + col.inactive = rgba(00000020) gradients = true gradient_rounding = 0 gradient_round_only_edges = false - } } From 40312523e3c04e78d675b9ef205cc813cf1573e4 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 21:17:06 +0200 Subject: [PATCH 200/209] Suggest that this is a fine spot for custom Hyprland configs --- config/hypr/hyprland.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index f9c7221b..f513cd08 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -19,3 +19,6 @@ source = ~/.config/hypr/bindings.conf source = ~/.config/hypr/envs.conf source = ~/.config/hypr/looknfeel.conf source = ~/.config/hypr/autostart.conf + +# Add any other personal Hyprland configuration below +# windowrule = workspace 5, class:qemu From 636416bbd255e89b7aeea2f733adcdd6528ca2cb Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 18 Oct 2025 15:19:09 -0400 Subject: [PATCH 201/209] Revert "Remove wayfreeze until we have the AUR pkg built in OPR" This reverts commit ea303295228354829e8bba231a52da0d935a2c5e. --- bin/omarchy-cmd-screenshot | 3 +++ install/omarchy-base.packages | 1 + 2 files changed, 4 insertions(+) diff --git a/bin/omarchy-cmd-screenshot b/bin/omarchy-cmd-screenshot index c2a07aa3..f4450f89 100755 --- a/bin/omarchy-cmd-screenshot +++ b/bin/omarchy-cmd-screenshot @@ -22,11 +22,13 @@ get_rectangles() { # Select based on mode case "$MODE" in region) + wayfreeze & PID=$! sleep .1 SELECTION=$(slurp 2>/dev/null) kill $PID 2>/dev/null ;; windows) + wayfreeze & PID=$! sleep .1 SELECTION=$(get_rectangles | slurp -r 2>/dev/null) kill $PID 2>/dev/null @@ -36,6 +38,7 @@ case "$MODE" in ;; smart|*) RECTS=$(get_rectangles) + wayfreeze & PID=$! sleep .1 SELECTION=$(echo "$RECTS" | slurp 2>/dev/null) kill $PID 2>/dev/null diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 02bdfc2f..5df489c4 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -131,6 +131,7 @@ unzip uwsm walker waybar +wayfreeze whois wireless-regdb wiremix From 5cf56f31e62aa3ce689bfc184f4ef6329c65785b Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 18 Oct 2025 15:19:43 -0400 Subject: [PATCH 202/209] Update wayfreeze to -git --- install/omarchy-base.packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 5df489c4..32c87ca0 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -131,7 +131,7 @@ unzip uwsm walker waybar -wayfreeze +wayfreeze-git whois wireless-regdb wiremix From d421b63873d9ab311ed8de9beb96987a0bcba4f9 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 21:38:27 +0200 Subject: [PATCH 203/209] Revert "Walker now needs a default qalculate/qalc.cfg to work out of the box" This reverts commit bc99b8ce960c87e6c4cc9893486682af0464c5d1. --- config/qalculate/qalc.cfg | 89 --------------------------------------- migrations/1760796602.sh | 4 -- 2 files changed, 93 deletions(-) delete mode 100644 config/qalculate/qalc.cfg delete mode 100644 migrations/1760796602.sh diff --git a/config/qalculate/qalc.cfg b/config/qalculate/qalc.cfg deleted file mode 100644 index 87e19dea..00000000 --- a/config/qalculate/qalc.cfg +++ /dev/null @@ -1,89 +0,0 @@ -[General] -version=5.8.0 -save_config=1 -save_mode_on_exit=1 -save_definitions_on_exit=1 -clear_history_on_exit=0 -ignore_locale=0 -colorize=1 -auto_update_exchange_rates=-1 -spacious=1 -vertical_space=1 -excessive_parenthesis=0 -short_multiplication=1 -use_unicode_signs=1 -use_unicode_exponents=1 -lower_case_numbers=0 -duodecimal_symbols=0 -exp_display=1 -imaginary_j=0 -base_display=1 -binary_bits=0 -twos_complement=1 -hexadecimal_twos_complement=0 -twos_complement_input=0 -hexadecimal_twos_complement_input=0 -spell_out_logical_operators=1 -digit_grouping=0 -decimal_comma=-1 -dot_as_separator=-1 -comma_as_separator=0 -multiplication_sign=2 -division_sign=0 - -[Mode] -min_deci=0 -use_min_deci=0 -max_deci=2 -use_max_deci=0 -precision=10 -interval_arithmetic=1 -interval_display=0 -min_exp=-1 -negative_exponents=0 -sort_minus_last=1 -number_fraction_format=-1 -complex_number_form=0 -use_prefixes=1 -use_prefixes_for_all_units=0 -use_prefixes_for_currencies=0 -use_binary_prefixes=0 -abbreviate_names=1 -all_prefixes_enabled=0 -denominator_prefix_enabled=1 -place_units_separately=1 -auto_post_conversion=3 -mixed_units_conversion=3 -local_currency_conversion=1 -number_base=10 -number_base_expression=10 -read_precision=0 -assume_denominators_nonzero=1 -warn_about_denominators_assumed_nonzero=1 -structuring=1 -angle_unit=1 -caret_as_xor=0 -concise_uncertainty_input=0 -functions_enabled=1 -variables_enabled=1 -calculate_variables=1 -calculate_functions=1 -variable_units_enabled=1 -sync_units=1 -unknownvariables_enabled=0 -units_enabled=1 -allow_complex=1 -allow_infinite=1 -indicate_infinite_series=0 -show_ending_zeroes=1 -rounding_mode=0 -approximation=-1 -interval_calculation=1 -in_rpn_mode=0 -rpn_syntax=0 -limit_implicit_multiplication=0 -parsing_mode=0 -simplified_percentage=-1 -default_assumption_type=4 -default_assumption_sign=0 - diff --git a/migrations/1760796602.sh b/migrations/1760796602.sh deleted file mode 100644 index 5a48e5b7..00000000 --- a/migrations/1760796602.sh +++ /dev/null @@ -1,4 +0,0 @@ -echo "Setup qalculate config for Walker to use" - -mkdir -p ~/.config/qalculate -omarchy-refresh-config qalculate/qalc.cfg From cc2523ff8994691e8b0196c571dce57349828106 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Oct 2025 21:51:57 +0200 Subject: [PATCH 204/209] Use 3 blur passes by default Co-authored-by: @vyrx-dev --- default/hypr/looknfeel.conf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index ec8aece3..823a1121 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -39,9 +39,7 @@ decoration { blur { enabled = true size = 3 - passes = 1 - - vibrancy = 0.1696 + passes = 3 } } From bd761379a799780161c09e840569ac5566ffb613 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 18 Oct 2025 17:01:02 -0400 Subject: [PATCH 205/209] Add nfs support --- install/omarchy-base.packages | 1 + 1 file changed, 1 insertion(+) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 32c87ca0..7b3b2082 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -53,6 +53,7 @@ grim gpu-screen-recorder gum gvfs-mtp +gvfs-nfs gvfs-smb hypridle hyprland From a1e80e1cabbc62a6424f900c0b49554ba7af50dd Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 18 Oct 2025 17:44:06 -0400 Subject: [PATCH 206/209] Add migration for misc. items since 3.1.0-RC --- migrations/1760724934.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 migrations/1760724934.sh diff --git a/migrations/1760724934.sh b/migrations/1760724934.sh new file mode 100644 index 00000000..4f038af5 --- /dev/null +++ b/migrations/1760724934.sh @@ -0,0 +1,26 @@ +# 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 "Update Walker configs" +omarchy-refresh-walker + +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 From 880e779cf245c159e094061f15b47a020af72a9c Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 19 Oct 2025 02:30:20 -0400 Subject: [PATCH 207/209] Make border easier to override --- default/walker/themes/omarchy-default/style.css | 1 - 1 file changed, 1 deletion(-) diff --git a/default/walker/themes/omarchy-default/style.css b/default/walker/themes/omarchy-default/style.css index d380c884..f4bbd082 100644 --- a/default/walker/themes/omarchy-default/style.css +++ b/default/walker/themes/omarchy-default/style.css @@ -26,7 +26,6 @@ scrollbar { background: alpha(@base, 0.95); padding: 20px; border: 2px solid @border; - border-radius: 0px; } .preview-box { From f64d73c24c6ef82c2a9db47666802d77b89ee53c Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 19 Oct 2025 02:30:28 -0400 Subject: [PATCH 208/209] Ensure consistent size --- bin/omarchy-launch-walker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-launch-walker b/bin/omarchy-launch-walker index 3f77c37f..805da5c1 100755 --- a/bin/omarchy-launch-walker +++ b/bin/omarchy-launch-walker @@ -10,4 +10,4 @@ if ! pgrep -f "walker --gapplication-service" > /dev/null; then setsid uwsm-app -- walker --gapplication-service & fi -exec walker "$@" +exec walker --width 644 --maxheight 300 --minheight 300 "$@" From be697860aa4339b126ed0278cf5e00b45048559e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 19 Oct 2025 09:25:39 +0200 Subject: [PATCH 209/209] Stick with existing name inside theme --- themes/flexoki-light/neovim.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/themes/flexoki-light/neovim.lua b/themes/flexoki-light/neovim.lua index 4ca71cd2..230c5512 100644 --- a/themes/flexoki-light/neovim.lua +++ b/themes/flexoki-light/neovim.lua @@ -1,7 +1,6 @@ return { { "kepano/flexoki-neovim", - name = "flexoki", priority = 1000, }, {

Esp$tvbd$$zEJF^pyjm0Uj)xVO$5XKm}J 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 G{(k`5vfS_h literal 0 HcmV?d00001 diff --git a/themes/flexoki-light/btop.theme b/themes/flexoki-light/btop.theme new file mode 100644 index 00000000..0caf9c65 --- /dev/null +++ b/themes/flexoki-light/btop.theme @@ -0,0 +1,78 @@ +# Main bg +theme[main_bg]="#FFFCF0" + +# Main text color +theme[main_fg]="#100F0F" + +# Title color for boxes +theme[title]="#100F0F" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#205EA6" + +# Background color of selected item in processes box +theme[selected_bg]="#414868" + +# Foreground color of selected item in processes box +theme[selected_fg]="#100F0F" + +# Color of inactive/disabled text +theme[inactive_fg]="#6F6E69" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#205EA6" + +# Cpu box outline color +theme[cpu_box]="#6F6E69" + +# Memory/disks box outline color +theme[mem_box]="#6F6E69" + +# Net up/down box outline color +theme[net_box]="#6F6E69" + +# Processes box outline color +theme[proc_box]="#6F6E69" + +# Box divider line and small boxes line color +theme[div_line]="#6F6E69" + +# Temperature graph colors +theme[temp_start]="#66800B" +theme[temp_mid]="#BC5215" +theme[temp_end]="#AF3029" + +# CPU graph colors +theme[cpu_start]="#66800B" +theme[cpu_mid]="#BC5215" +theme[cpu_end]="#AF3029" + +# Mem/Disk free meter +theme[free_start]="#66800B" +theme[free_mid]="#BC5215" +theme[free_end]="#AF3029" + +# Mem/Disk cached meter +theme[cached_start]="#66800B" +theme[cached_mid]="#BC5215" +theme[cached_end]="#AF3029" + +# Mem/Disk available meter +theme[available_start]="#66800B" +theme[available_mid]="#BC5215" +theme[available_end]="#AF3029" + +# Mem/Disk used meter +theme[used_start]="#66800B" +theme[used_mid]="#BC5215" +theme[used_end]="#AF3029" + +# Download graph colors +theme[download_start]="#66800B" +theme[download_mid]="#BC5215" +theme[download_end]="#AF3029" + +# Upload graph colors +theme[upload_start]="#66800B" +theme[upload_mid]="#BC5215" +theme[upload_end]="#AF3029" diff --git a/themes/flexoki-light/chromium.theme b/themes/flexoki-light/chromium.theme new file mode 100644 index 00000000..31cd573a --- /dev/null +++ b/themes/flexoki-light/chromium.theme @@ -0,0 +1 @@ +242,240,229 \ No newline at end of file diff --git a/themes/flexoki-light/ghostty.conf b/themes/flexoki-light/ghostty.conf new file mode 100644 index 00000000..5bc755a1 --- /dev/null +++ b/themes/flexoki-light/ghostty.conf @@ -0,0 +1 @@ +theme = Flexoki Light \ No newline at end of file diff --git a/themes/flexoki-light/hyprland.conf b/themes/flexoki-light/hyprland.conf new file mode 100644 index 00000000..4e4b20a0 --- /dev/null +++ b/themes/flexoki-light/hyprland.conf @@ -0,0 +1,3 @@ +general { + col.active_border = rgba(205EA6ee) +} diff --git a/themes/flexoki-light/hyprlock.conf b/themes/flexoki-light/hyprlock.conf new file mode 100644 index 00000000..e1d0dd4a --- /dev/null +++ b/themes/flexoki-light/hyprlock.conf @@ -0,0 +1,5 @@ +$color = rgba(255,252,240,1.0) +$inner_color = rgba(242,240,229,1.0) +$outer_color = rgba(206,205,195,1.0) +$font_color = rgba(16,15,15,1.0) +$check_color = rgba(32, 94, 166, 1.0) diff --git a/themes/flexoki-light/icons.theme b/themes/flexoki-light/icons.theme new file mode 100644 index 00000000..6ce2f147 --- /dev/null +++ b/themes/flexoki-light/icons.theme @@ -0,0 +1 @@ +Yaru-blue diff --git a/themes/flexoki-light/kitty.conf b/themes/flexoki-light/kitty.conf new file mode 100644 index 00000000..c8ee0142 --- /dev/null +++ b/themes/flexoki-light/kitty.conf @@ -0,0 +1,67 @@ +# vim:ft=kitty + +## name: Flexoki (Light) +## author: Kepano +## license: MIT +## upstream: https://raw.githubusercontent.com/kepano/flexoki/main/kitty/flexoki_light.conf +## blurb: An inky color scheme for prose and code + +# The basic colors +foreground #100F0F +background #FFFCF0 +selection_foreground #100F0F +selection_background #CECDC3 + +# Cursor colors +cursor #100F0F +cursor_text_color #FFFCF0 + +# kitty window border colors +active_border_color #D14D41 +inactive_border_color #CECDC3 + +# Tab bar colors +active_tab_foreground #100F0F +active_tab_background #CECDC3 +inactive_tab_foreground #6F6E69 +inactive_tab_background #E6E4D9 + +# The basic 16 colors +# black +color0 #100F0F +color8 #6F6E69 + + +# red +color1 #D14D41 +color9 #AF3029 + + +# green +color2 #879A39 +color10 #66800B + + +# yellow +color3 #D0A215 +color11 #AD8301 + + +# blue +color4 #4385BE +color12 #205EA6 + + +# magenta +color5 #CE5D97 +color13 #A02F6F + + +# cyan +color6 #3AA99F +color14 #24837B + + +# white +color7 #FFFCF0 +color15 #F2F0E5 \ No newline at end of file diff --git a/themes/flexoki-light/light.mode b/themes/flexoki-light/light.mode new file mode 100644 index 00000000..e65461b9 --- /dev/null +++ b/themes/flexoki-light/light.mode @@ -0,0 +1 @@ +# This will set "prefer-light" and use "Adwaita" as the theme \ No newline at end of file diff --git a/themes/flexoki-light/mako.ini b/themes/flexoki-light/mako.ini new file mode 100644 index 00000000..19cf1af4 --- /dev/null +++ b/themes/flexoki-light/mako.ini @@ -0,0 +1,5 @@ +include=~/.local/share/omarchy/default/mako/core.ini + +text-color=#100F0F +border-color=#205EA6 +background-color=#FFFCF0 diff --git a/themes/flexoki-light/neovim.lua b/themes/flexoki-light/neovim.lua new file mode 100644 index 00000000..381cf555 --- /dev/null +++ b/themes/flexoki-light/neovim.lua @@ -0,0 +1,15 @@ +return { + { + "kepano/flexoki-neovim", + name = "flexoki", + config = function() + vim.api.nvim_set_option_value("background", "light", {}) + end, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "flexoki-light", + }, + }, +} diff --git a/themes/flexoki-light/swayosd.css b/themes/flexoki-light/swayosd.css new file mode 100644 index 00000000..444964d5 --- /dev/null +++ b/themes/flexoki-light/swayosd.css @@ -0,0 +1,5 @@ +@define-color background-color #FFFCF0; +@define-color border-color #205EA6; +@define-color label #100F0F; +@define-color image #100F0F; +@define-color progress #100F0F; diff --git a/themes/flexoki-light/vscode.json b/themes/flexoki-light/vscode.json new file mode 100644 index 00000000..a1ad3d37 --- /dev/null +++ b/themes/flexoki-light/vscode.json @@ -0,0 +1,547 @@ +{ + "name": "Flexoki", + "type": "light", + "colors": { + "editor.background": "#FFFCF0", + "editor.foreground": "#100F0F", + "editor.hoverHighlightBackground": "#DAD8CE", + "editor.lineHighlightBackground": "#F2F0E5", + "editor.selectionBackground": "#100F0F44", + "editor.selectionHighlightBackground": "#100F0F44", + "editor.findMatchBackground": "#D0A215", + "editor.findMatchHighlightBackground": "#D0A215cc", + "editor.findRangeHighlightBackground": "#F2F0E5", + "editor.inactiveSelectionBackground": "#E6E4D9", + "editor.lineHighlightBorder": "#E6E4D9", + "editor.rangeHighlightBackground": "#CECDC3", + "notifications.background": "#E6E4D9", + "editorInlayHint.typeBackground": "#DAD8CE", + "editorInlayHint.typeForeground": "#100F0F", + "editorWhitespace.foreground": "#CECDC3", + "editorIndentGuide.background1": "#DAD8CE", + "editorHoverWidget.background": "#E6E4D9", + "editorLineNumber.activeForeground": "#100F0F", + "editorLineNumber.foreground": "#CECDC3", + "editorGutter.background": "#FFFCF0", + "editorGutter.modifiedBackground": "#24837B", + "editorGutter.addedBackground": "#66800B", + "editorGutter.deletedBackground": "#AF3029", + "editorBracketMatch.background": "#E6E4D9", + "editorBracketMatch.border": "#DAD8CE", + "editorError.foreground": "#AF3029", + "editorWarning.foreground": "#BC5215", + "editorInfo.foreground": "#205EA6", + "diffEditor.insertedTextBackground": "#879A3999", + "diffEditor.removedTextBackground": "#D14D4199", + "editorGroupHeader.tabsBackground": "#FFFCF0", + "editorGroup.border": "#DAD8CE", + "tab.activeBackground": "#FFFCF0", + "tab.inactiveBackground": "#F2F0E5", + "tab.inactiveForeground": "#6F6E69", + "tab.activeForeground": "#100F0F", + "tab.hoverBackground": "#DAD8CE", + "tab.unfocusedHoverBackground": "#DAD8CE", + "tab.border": "#DAD8CE", + "tab.activeModifiedBorder": "#AD8301", + "tab.inactiveModifiedBorder": "#205EA6", + "tab.unfocusedActiveModifiedBorder": "#D0A215", + "tab.unfocusedInactiveModifiedBorder": "#4385BE", + "editorWidget.background": "#F2F0E5", + "editorWidget.border": "#DAD8CE", + "editorSuggestWidget.background": "#FFFCF0", + "editorSuggestWidget.border": "#DAD8CE", + "editorSuggestWidget.foreground": "#100F0F", + "editorSuggestWidget.highlightForeground": "#6F6E69", + "editorSuggestWidget.selectedBackground": "#DAD8CE", + "peekView.border": "#DAD8CE", + "peekViewEditor.background": "#FFFCF0", + "peekViewEditor.matchHighlightBackground": "#CECDC3", + "peekViewResult.background": "#F2F0E5", + "peekViewResult.fileForeground": "#100F0F", + "peekViewResult.lineForeground": "#6F6E69", + "peekViewResult.matchHighlightBackground": "#CECDC3", + "peekViewResult.selectionBackground": "#E6E4D9", + "peekViewResult.selectionForeground": "#B7B5AC", + "peekViewTitle.background": "#DAD8CE", + "peekViewTitleDescription.foreground": "#6F6E69", + "peekViewTitleLabel.foreground": "#100F0F", + "merge.currentHeaderBackground": "#66800B", + "merge.currentContentBackground": "#879A39", + "merge.incomingHeaderBackground": "#24837B", + "merge.incomingContentBackground": "#3AA99F", + "merge.border": "#DAD8CE", + "merge.commonContentBackground": "#CECDC3", + "merge.commonHeaderBackground": "#DAD8CE", + "panel.background": "#FFFCF0", + "panel.border": "#DAD8CE", + "panelTitle.activeBorder": "#CECDC3", + "panelTitle.activeForeground": "#100F0F", + "panelTitle.inactiveForeground": "#6F6E69", + "statusBar.background": "#FFFCF0", + "statusBar.foreground": "#100F0F", + "statusBar.border": "#DAD8CE", + "statusBar.debuggingBackground": "#AF3029", + "statusBar.debuggingForeground": "#100F0F", + "statusBar.noFolderBackground": "#CECDC3", + "statusBar.noFolderForeground": "#B7B5AC", + "titleBar.activeBackground": "#FFFCF0", + "titleBar.activeForeground": "#100F0F", + "titleBar.inactiveBackground": "#F2F0E5", + "titleBar.inactiveForeground": "#6F6E69", + "titleBar.border": "#DAD8CE", + "menu.foreground": "#100F0F", + "menu.background": "#FFFCF0", + "menu.selectionForeground": "#100F0F", + "menu.selectionBackground": "#DAD8CE", + "menu.border": "#DAD8CE", + "editorInlayHint.foreground": "#6F6E69", + "editorInlayHint.background": "#DAD8CE", + "terminal.foreground": "#100F0F", + "terminal.background": "#FFFCF0", + "terminalCursor.foreground": "#100F0F", + "terminalCursor.background": "#FFFCF0", + "terminal.ansiRed": "#AF3029", + "terminal.ansiGreen": "#66800B", + "terminal.ansiYellow": "#AD8301", + "terminal.ansiBlue": "#205EA6", + "terminal.ansiMagenta": "#24837B", + "terminal.ansiCyan": "#24837B", + "activityBar.background": "#FFFCF0", + "activityBar.foreground": "#100F0F", + "activityBar.inactiveForeground": "#6F6E69", + "activityBar.activeBorder": "#100F0F", + "activityBar.border": "#DAD8CE", + "sideBar.background": "#FFFCF0", + "sideBar.foreground": "#100F0F", + "sideBar.border": "#DAD8CE", + "sideBarTitle.foreground": "#100F0F", + "sideBarSectionHeader.background": "#F2F0E5", + "sideBarSectionHeader.foreground": "#100F0F", + "sideBarSectionHeader.border": "#DAD8CE", + "sideBar.activeBackground": "#CECDC3", + "sideBar.activeForeground": "#100F0F", + "sideBar.hoverBackground": "#DAD8CE", + "sideBar.hoverForeground": "#6F6E69", + "sideBar.folderIcon.foreground": "#66800B", + "sideBar.fileIcon.foreground": "#205EA6", + "list.warningForeground": "#BC5215", + "list.errorForeground": "#AF3029", + "list.inactiveSelectionBackground": "#DAD8CE", + "list.activeSelectionBackground": "#CECDC3", + "list.inactiveSelectionForeground": "#100F0F", + "list.activeSelectionForeground": "#100F0F", + "list.hoverForeground": "#100F0F", + "list.hoverBackground": "#DAD8CE", + "input.background": "#F2F0E5", + "input.foreground": "#100F0F", + "input.border": "#DAD8CE", + "input.placeholderForeground": "#6F6E69", + "inputOption.activeBorder": "#DAD8CE", + "inputOption.activeBackground": "#E6E4D9", + "inputOption.activeForeground": "#100F0F", + "inputValidation.infoBackground": "#24837B", + "inputValidation.infoBorder": "#3AA99F", + "inputValidation.warningBackground": "#BC5215", + "inputValidation.warningBorder": "#DA702C", + "inputValidation.errorBackground": "#AF3029", + "inputValidation.errorBorder": "#D14D41", + "dropdown.background": "#F2F0E5", + "dropdown.foreground": "#100F0F", + "dropdown.border": "#DAD8CE", + "dropdown.listBackground": "#FFFCF0", + "badge.background": "#24837B", + "activityBarBadge.background": "#24837B", + "button.background": "#24837B", + "button.foreground": "#FFFCF0", + "badge.foreground": "#FFFCF0", + "activityBarBadge.foreground": "#FFFCF0" + }, + "tokenColors": [ + { + "name": "plain", + "scope": ["source", "support.type.property-name.css"], + "settings": { + "foreground": "#100F0F" + } + }, + { + "name": "classes", + "scope": ["entity.name.type.class"], + "settings": { + "foreground": "#BC5215" + } + }, + { + "name": "interfaces", + "scope": ["entity.name.type.interface", "entity.name.type"], + "settings": { + "foreground": "#AD8301" + } + }, + { + "name": "structs", + "scope": ["entity.name.type.struct"], + "settings": { + "foreground": "#BC5215" + } + }, + { + "name": "enums", + "scope": ["entity.name.type.enum"], + "settings": { + "foreground": "#BC5215" + } + }, + { + "name": "keys", + "scope": ["meta.object-literal.key", "support.type.property-name"], + "settings": { + "foreground": "#BC5215" + } + }, + { + "name": "methods", + "scope": ["entity.name.function.method", "meta.function.method"], + "settings": { + "foreground": "#66800B" + } + }, + { + "name": "functions", + "scope": [ + "entity.name.function", + "support.function", + "meta.function-call.generic" + ], + "settings": { + "foreground": "#BC5215", + "fontStyle": "bold" + } + }, + { + "name": "variables", + "scope": ["variable", "meta.variable", "variable.other.object.property"], + "settings": { + "foreground": "#100F0F" + } + }, + { + "name": "variablesOther", + "scope": ["variable.other.object", "variable.other.readwrite.alias"], + "settings": { + "foreground": "#66800B" + } + }, + { + "name": "globalVariables", + "scope": ["variable.other.global", "variable.language.this"], + "settings": { + "foreground": "#A02F6F" + } + }, + { + "name": "localVariables", + "scope": ["variable.other.local"], + "settings": { + "foreground": "#E6E4D9" + } + }, + { + "name": "parameters", + "scope": ["variable.parameter", "meta.parameter"], + "settings": { + "foreground": "#100F0F" + } + }, + { + "name": "properties", + "scope": ["variable.other.property", "meta.property"], + "settings": { + "foreground": "#205EA6" + } + }, + { + "name": "strings", + "scope": [ + "string", + "string.other.link", + "markup.inline.raw.string.markdown" + ], + "settings": { + "foreground": "#24837B" + } + }, + { + "name": "stringEscapeSequences", + "scope": ["constant.character.escape", "constant.other.placeholder"], + "settings": { + "foreground": "#100F0F" + } + }, + { + "name": "keywords", + "scope": ["keyword"], + "settings": { + "foreground": "#66800B" + } + }, + { + "name": "keywordsControl", + "scope": [ + "keyword.control.import", + "keyword.control.from", + "keyword.import" + ], + "settings": { + "foreground": "#AF3029" + } + }, + { + "name": "storageModifiers", + "scope": ["storage.modifier", "keyword.modifier", "storage.type"], + "settings": { + "foreground": "#205EA6" + } + }, + { + "name": "comments", + "scope": ["comment", "punctuation.definition.comment"], + "settings": { + "foreground": "#6F6E69" + } + }, + { + "name": "docComments", + "scope": ["comment.documentation", "comment.line.documentation"], + "settings": { + "foreground": "#B7B5AC" + } + }, + { + "name": "numbers", + "scope": ["constant.numeric"], + "settings": { + "foreground": "#5E409D" + } + }, + { + "name": "booleans", + "scope": ["constant.language.boolean", "constant.language.json"], + "settings": { + "foreground": "#AD8301" + } + }, + { + "name": "operators", + "scope": ["keyword.operator"], + "settings": { + "foreground": "#AF3029" + } + }, + { + "name": "macros", + "scope": ["entity.name.function.preprocessor", "meta.preprocessor"], + "settings": { + "foreground": "#205EA6" + } + }, + { + "name": "preprocessor", + "scope": ["meta.preprocessor"], + "settings": { + "foreground": "#A02F6F" + } + }, + { + "name": "urls", + "scope": ["markup.underline.link"], + "settings": { + "foreground": "#205EA6" + } + }, + { + "name": "tags", + "scope": ["entity.name.tag"], + "settings": { + "foreground": "#205EA6" + } + }, + { + "name": "jsxTags", + "scope": ["support.class.component"], + "settings": { + "foreground": "#A02F6F" + } + }, + { + "name": "attributes", + "scope": ["entity.other.attribute-name", "meta.attribute"], + "settings": { + "foreground": "#AD8301" + } + }, + { + "name": "types", + "scope": ["support.type"], + "settings": { + "foreground": "#AD8301" + } + }, + { + "name": "constants", + "scope": ["variable.other.constant", "variable.readonly"], + "settings": { + "foreground": "#100F0F" + } + }, + { + "name": "labels", + "scope": ["entity.name.label", "punctuation.definition.label"], + "settings": { + "foreground": "#A02F6F" + } + }, + { + "name": "namespaces", + "scope": [ + "entity.name.namespace", + "storage.modifier.namespace", + "markup.bold.markdown" + ], + "settings": { + "foreground": "#AD8301" + } + }, + { + "name": "modules", + "scope": ["entity.name.module", "storage.modifier.module"], + "settings": { + "foreground": "#AF3029" + } + }, + { + "name": "typeParameters", + "scope": ["variable.type.parameter", "variable.parameter.type"], + "settings": { + "foreground": "#BC5215" + } + }, + { + "name": "exceptions", + "scope": ["keyword.control.exception", "keyword.control.trycatch"], + "settings": { + "foreground": "#A02F6F" + } + }, + { + "name": "decorators", + "scope": [ + "meta.decorator", + "punctuation.decorator", + "entity.name.function.decorator" + ], + "settings": { + "foreground": "#AD8301" + } + }, + { + "name": "calls", + "scope": ["variable.function"], + "settings": { + "foreground": "#100F0F" + } + }, + { + "name": "punctuation", + "scope": [ + "punctuation", + "punctuation.terminator", + "punctuation.definition.tag", + "punctuation.separator", + "punctuation.definition.string", + "punctuation.section.block" + ], + "settings": { + "foreground": "#6F6E69" + } + }, + { + "name": "yellow", + "scope": [ + "storage.type.numeric.go", + "storage.type.byte.go", + "storage.type.boolean.go", + "storage.type.string.go", + "storage.type.uintptr.go", + "storage.type.error.go", + "storage.type.rune.go", + "constant.language.go", + "support.class.dart", + "keyword.other.documentation", + "storage.modifier.import.java", + "punctuation.definition.list.begin.markdown", + "punctuation.definition.quote.begin.markdown", + "meta.separator.markdown", + "entity.name.section.markdown" + ], + "settings": { + "foreground": "#AD8301" + } + }, + { + "name": "green", + "scope": [], + "settings": { + "foreground": "#66800B" + } + }, + { + "name": "cyan", + "scope": [ + "markup.italic.markdown", + "support.type.python", + "variable.legacy.builtin.python", + "support.constant.property-value.css", + "storage.modifier.attribute.swift" + ], + "settings": { + "foreground": "#24837B" + } + }, + { + "name": "blue", + "scope": [], + "settings": { + "foreground": "#205EA6" + } + }, + { + "name": "purple", + "scope": ["keyword.channel.go", "keyword.other.platform.os.swift"], + "settings": { + "foreground": "#5E409D" + } + }, + { + "name": "magenta", + "scope": ["punctuation.definition.heading.markdown"], + "settings": { + "foreground": "#A02F6F" + } + }, + { + "name": "red", + "scope": [], + "settings": { + "foreground": "#AF3029" + } + }, + { + "name": "orange", + "scope": [], + "settings": { + "foreground": "#BC5215" + } + } + ] +} \ No newline at end of file diff --git a/themes/flexoki-light/walker.css b/themes/flexoki-light/walker.css new file mode 100644 index 00000000..e2ecdfb2 --- /dev/null +++ b/themes/flexoki-light/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #205EA6; +@define-color text #100F0F; +@define-color base #FFFCF0; +@define-color border #205EA6; +@define-color foreground #100F0F; +@define-color background #FFFCF0; diff --git a/themes/flexoki-light/waybar.css b/themes/flexoki-light/waybar.css new file mode 100644 index 00000000..edc54c16 --- /dev/null +++ b/themes/flexoki-light/waybar.css @@ -0,0 +1,2 @@ +@define-color foreground #100F0F; +@define-color background #FFFCF0; From 6cab5d3e14f19a643283c79673be8d409d4ac490 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 17:06:32 -0400 Subject: [PATCH 090/209] Fix light mode live switching for chromium --- bin/omarchy-theme-set-browser | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/omarchy-theme-set-browser b/bin/omarchy-theme-set-browser index 655ebe31..bf316224 100755 --- a/bin/omarchy-theme-set-browser +++ b/bin/omarchy-theme-set-browser @@ -15,6 +15,12 @@ if omarchy-cmd-present chromium || omarchy-cmd-present brave; then if omarchy-cmd-present chromium; then rm -f /etc/chromium/policies/managed/color.json chromium --no-startup-window --set-theme-color="$THEME_RGB_COLOR" + + if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then + chromium --no-startup-window --set-color-scheme="light" + else + chromium --no-startup-window --set-color-scheme="dark" + fi fi if omarchy-cmd-present brave; then From d72e948e03cd849890d62b6b7c36baa7d8ebf40b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 17:17:55 -0400 Subject: [PATCH 091/209] We DID need two lines to prevent the ugly jitter between effects --- bin/omarchy-cmd-screensaver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index 70202bf1..e336c8b0 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -18,7 +18,7 @@ hyprctl keyword cursor:invisible true while true; do effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1) tte -i ~/.config/omarchy/branding/screensaver.txt \ - --frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 1)) --anchor-canvas c --anchor-text c \ + --frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 2)) --anchor-canvas c --anchor-text c \ "$effect" & while pgrep -x tte >/dev/null; do From ebcb489621da205b8982b4673dc97dc8196a7866 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 17:25:04 -0400 Subject: [PATCH 092/209] No need for the empty opts --- themes/osaka-jade/neovim.lua | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/themes/osaka-jade/neovim.lua b/themes/osaka-jade/neovim.lua index b3c9edc5..30afe400 100644 --- a/themes/osaka-jade/neovim.lua +++ b/themes/osaka-jade/neovim.lua @@ -1,13 +1,12 @@ return { - { - "ribru17/bamboo.nvim", - priority = 1000, - opts = {}, - }, - { - "LazyVim/LazyVim", - opts = { - colorscheme = "bamboo", - }, - }, + { + "ribru17/bamboo.nvim", + priority = 1000, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "bamboo", + }, + }, } From 7ef30f69b8ddb661c8210413858575bf9baccc36 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 17:30:27 -0400 Subject: [PATCH 093/209] Match the other themes --- themes/flexoki-light/neovim.lua | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/themes/flexoki-light/neovim.lua b/themes/flexoki-light/neovim.lua index 381cf555..4ca71cd2 100644 --- a/themes/flexoki-light/neovim.lua +++ b/themes/flexoki-light/neovim.lua @@ -1,15 +1,13 @@ return { - { - "kepano/flexoki-neovim", - name = "flexoki", - config = function() - vim.api.nvim_set_option_value("background", "light", {}) - end, - }, - { - "LazyVim/LazyVim", - opts = { - colorscheme = "flexoki-light", - }, - }, + { + "kepano/flexoki-neovim", + name = "flexoki", + priority = 1000, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "flexoki-light", + }, + }, } From ab7feeac6d187370ab3481e867748415b532471d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 17:36:03 -0400 Subject: [PATCH 094/209] Unnecessary --- migrations/1758487660_change_dm_to_sddm.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/migrations/1758487660_change_dm_to_sddm.sh b/migrations/1758487660_change_dm_to_sddm.sh index 3d42d2e5..3c10c840 100755 --- a/migrations/1758487660_change_dm_to_sddm.sh +++ b/migrations/1758487660_change_dm_to_sddm.sh @@ -53,5 +53,3 @@ 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 - -echo "Migration completed successfully" From c70e018571bf3ed854f0b72cfdcee27d1eb3cacb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 17:38:27 -0400 Subject: [PATCH 095/209] Add the default keyring to existing systems cc @ryanrhughes --- migrations/1760304963.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 migrations/1760304963.sh diff --git a/migrations/1760304963.sh b/migrations/1760304963.sh new file mode 100644 index 00000000..4545e3e0 --- /dev/null +++ b/migrations/1760304963.sh @@ -0,0 +1,3 @@ +echo "Add a default keyring for gnome-keyring that unlocks on login" + +bash "$OMARCHY_PATH/install/login/default-keyring.sh" From a20835f835d6b8766c4633520823320b554443fc Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 12 Oct 2025 19:25:19 -0400 Subject: [PATCH 096/209] Add copy bind as well --- migrations/1759895423.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrations/1759895423.sh b/migrations/1759895423.sh index e586063a..0b94a5b9 100644 --- a/migrations/1759895423.sh +++ b/migrations/1759895423.sh @@ -1,3 +1,3 @@ echo "Make shift+insert paste from clipboard" sed -i '/keybind = f11=toggle_fullscreen/a keybind = shift+insert=paste_from_clipboard' ~/.config/ghostty/config -sed -i 's/{ key = "F11", action = "ToggleFullscreen" }/{ key = "F11", action = "ToggleFullscreen" },\n{ key = "Insert", mods = "Shift", action = "Paste" }/' ~/.config/alacritty/alacritty.toml +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 From 9f8db77a2473047f5d71a33edcf7430a05b7ec23 Mon Sep 17 00:00:00 2001 From: Celso Benedetti Date: Sun, 12 Oct 2025 20:52:09 -0300 Subject: [PATCH 097/209] tweak(omarchy-theme-set): only restart waybar if already running (#2416) --- bin/omarchy-theme-set | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 5bebb0f1..3f18abfc 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -24,7 +24,9 @@ ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR" omarchy-theme-bg-next # Restart components to apply new theme -omarchy-restart-waybar +if pgrep -x waybar >/dev/null; then + omarchy-restart-waybar +fi omarchy-restart-swayosd hyprctl reload pkill -SIGUSR2 btop From 55604e43f570fa9be781e10d2e127fa55848ece9 Mon Sep 17 00:00:00 2001 From: Miha Rekar Date: Mon, 13 Oct 2025 01:57:52 +0200 Subject: [PATCH 098/209] Show overlay when changing display brightness (#2348) --- bin/omarchy-cmd-apple-display-brightness | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-apple-display-brightness b/bin/omarchy-cmd-apple-display-brightness index e611e8b7..7ba3d20a 100755 --- a/bin/omarchy-cmd-apple-display-brightness +++ b/bin/omarchy-cmd-apple-display-brightness @@ -3,5 +3,12 @@ if [[ $# -eq 0 ]]; then echo "Adjust Apple Display Brightness by passing +5000 or -5000 (or any range from 0-60000)" else - sudo asdcontrol $(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1) -- "$1" + DEVICE="$(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1)" + sudo asdcontrol "$DEVICE" -- "$1" >/dev/null + VALUE="$(sudo asdcontrol "$DEVICE" | awk -F= '/BRIGHTNESS=/{print $2+0}')" + swayosd-client \ + --monitor "$(hyprctl monitors -j | jq -r '.[]|select(.focused==true).name')" \ + --custom-icon display-brightness \ + --custom-progress "$(awk -v v="$VALUE" 'BEGIN{printf "%.2f", v/60000}')" \ + --custom-progress-text "$(( VALUE * 100 / 60000 ))%" fi From adad20b6a14cc43661f69463adc66f0ef09dfc00 Mon Sep 17 00:00:00 2001 From: Jarek <65668659+jardahrazdera@users.noreply.github.com> Date: Mon, 13 Oct 2025 01:59:04 +0200 Subject: [PATCH 099/209] Fix Tailscale split DNS compatibility by removing [!UNAVAIL=return] (#1884) Removes [!UNAVAIL=return] from nsswitch.conf configuration to resolve Tailscale split DNS issues while maintaining mDNS printer discovery. - Updated printer setup script - Updated existing Avahi migration - Added migration for existing users Addresses: https://github.com/basecamp/omarchy/pull/1021#issuecomment-3318650490 --- install/config/hardware/printer.sh | 2 +- migrations/1757361128.sh | 2 +- migrations/1758562032.sh | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 migrations/1758562032.sh diff --git a/install/config/hardware/printer.sh b/install/config/hardware/printer.sh index 781a9871..244368e6 100644 --- a/install/config/hardware/printer.sh +++ b/install/config/hardware/printer.sh @@ -6,7 +6,7 @@ echo -e "[Resolve]\nMulticastDNS=no" | sudo tee /etc/systemd/resolved.conf.d/10- chrootable_systemctl_enable avahi-daemon.service # Enable mDNS resolution for .local domains -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 # Enable automatically adding remote printers if ! grep -q '^CreateRemotePrinters Yes' /etc/cups/cups-browsed.conf; then diff --git a/migrations/1757361128.sh b/migrations/1757361128.sh index b6c8413e..0bd0b407 100644 --- a/migrations/1757361128.sh +++ b/migrations/1757361128.sh @@ -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 \ No newline at end of file diff --git a/migrations/1758562032.sh b/migrations/1758562032.sh new file mode 100644 index 00000000..5c4c357e --- /dev/null +++ b/migrations/1758562032.sh @@ -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 \ No newline at end of file From cac8b03821f546c10e1a36c6e03fe68b6c8a0740 Mon Sep 17 00:00:00 2001 From: Qasim Date: Mon, 13 Oct 2025 05:36:43 +0530 Subject: [PATCH 100/209] alacritty.toml with proper bg and fg (#1851) * alacritty.toml wity proper bg and fg background = "#1e1e2e" foreground = "#cdd6f4" are the proper colors for terminal bg and fg when themeing with Catppuccin * Update alacritty.toml with proper Catppuccin Mocha colors * vscode.json to use Proper Catppuccin Mocha --- themes/catppuccin/alacritty.toml | 87 ++++++++++++++------------------ themes/catppuccin/vscode.json | 2 +- 2 files changed, 39 insertions(+), 50 deletions(-) diff --git a/themes/catppuccin/alacritty.toml b/themes/catppuccin/alacritty.toml index bfa455ad..7762dcdb 100644 --- a/themes/catppuccin/alacritty.toml +++ b/themes/catppuccin/alacritty.toml @@ -1,76 +1,65 @@ [colors.primary] -background = "#24273a" -foreground = "#cad3f5" -dim_foreground = "#8087a2" -bright_foreground = "#cad3f5" +background = "#1e1e2e" +foreground = "#cdd6f4" +dim_foreground = "#7f849c" +bright_foreground = "#cdd6f4" [colors.cursor] -text = "#24273a" -cursor = "#f4dbd6" +text = "#1e1e2e" +cursor = "#f5e0dc" [colors.vi_mode_cursor] -text = "#24273a" -cursor = "#b7bdf8" +text = "#1e1e2e" +cursor = "#b4befe" [colors.search.matches] -foreground = "#24273a" -background = "#a5adcb" +foreground = "#1e1e2e" +background = "#a6adc8" [colors.search.focused_match] -foreground = "#24273a" -background = "#a6da95" +foreground = "#1e1e2e" +background = "#a6e3a1" [colors.footer_bar] -foreground = "#24273a" -background = "#a5adcb" +foreground = "#1e1e2e" +background = "#a6adc8" [colors.hints.start] -foreground = "#24273a" -background = "#eed49f" +foreground = "#1e1e2e" +background = "#f9e2af" [colors.hints.end] -foreground = "#24273a" -background = "#a5adcb" +foreground = "#1e1e2e" +background = "#a6adc8" [colors.selection] -text = "#24273a" -background = "#f4dbd6" +text = "#1e1e2e" +background = "#f5e0dc" [colors.normal] -black = "#494d64" -red = "#ed8796" -green = "#a6da95" -yellow = "#eed49f" -blue = "#8aadf4" -magenta = "#f5bde6" -cyan = "#8bd5ca" -white = "#b8c0e0" +black = "#45475a" +red = "#f38ba8" +green = "#a6e3a1" +yellow = "#f9e2af" +blue = "#89b4fa" +magenta = "#f5c2e7" +cyan = "#94e2d5" +white = "#bac2de" [colors.bright] -black = "#5b6078" -red = "#ed8796" -green = "#a6da95" -yellow = "#eed49f" -blue = "#8aadf4" -magenta = "#f5bde6" -cyan = "#8bd5ca" -white = "#a5adcb" - -[colors.dim] -black = "#494d64" -red = "#ed8796" -green = "#a6da95" -yellow = "#eed49f" -blue = "#8aadf4" -magenta = "#f5bde6" -cyan = "#8bd5ca" -white = "#b8c0e0" +black = "#585b70" +red = "#f38ba8" +green = "#a6e3a1" +yellow = "#f9e2af" +blue = "#89b4fa" +magenta = "#f5c2e7" +cyan = "#94e2d5" +white = "#a6adc8" [[colors.indexed_colors]] index = 16 -color = "#f5a97f" +color = "#fab387" [[colors.indexed_colors]] index = 17 -color = "#f4dbd6" - +color = "#f5e0dc" diff --git a/themes/catppuccin/vscode.json b/themes/catppuccin/vscode.json index 26e1188e..a94d2cf8 100644 --- a/themes/catppuccin/vscode.json +++ b/themes/catppuccin/vscode.json @@ -1,4 +1,4 @@ { - "name": "Catppuccin Macchiato", + "name": "Catppuccin Mocha", "extension": "catppuccin.catppuccin-vsc" } From 56e690b86116dce0676127d2495077b984c0dec9 Mon Sep 17 00:00:00 2001 From: Martin Mose Facondini Date: Mon, 13 Oct 2025 02:13:45 +0200 Subject: [PATCH 101/209] feat: enable vim keys for btop (#1581) * feat: enable vim keys for btop * feat: add migration for btop vim keys * Cleanup --------- Co-authored-by: David Heinemeier Hansson --- config/btop/btop.conf | 2 +- migrations/1757535736.sh | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100755 migrations/1757535736.sh diff --git a/config/btop/btop.conf b/config/btop/btop.conf index c510f3e7..c150ea0a 100644 --- a/config/btop/btop.conf +++ b/config/btop/btop.conf @@ -22,7 +22,7 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. -vim_keys = False +vim_keys = True #* Rounded corners on boxes, is ignored if TTY mode is ON. rounded_corners = True diff --git a/migrations/1757535736.sh b/migrations/1757535736.sh new file mode 100755 index 00000000..25fcd190 --- /dev/null +++ b/migrations/1757535736.sh @@ -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 From fa029c54fbe3d8b9ed20069e90b8c734c358ca71 Mon Sep 17 00:00:00 2001 From: Wey Gu Date: Mon, 13 Oct 2025 08:19:10 +0800 Subject: [PATCH 102/209] macbook 12' fixes on login keyboard & suspend wake up (#1959) * macbook 12' fixes on login keyboard & suspend wake up - apple spi keyboard production_name pattern fixed: Macbook 12' are MacBook8,1 9,1 and 10,1 for 2015, 2016 and 2017 models The MacBookPro12,1 is not a thing. ref: https://everymac.com/ultimate-mac-lookup/?identify=MacBook10%2C1 - add fix-apple-suspend-nvme.sh to fix MacBooks with NVMe cannot wake up ref: https://github.com/Dunedan/mbp-2016-linux?tab=readme-ov-file#suspend--hibernation * fix escapes in file path * add invocation in all.sh and migration script * Fix paths --------- Co-authored-by: David Heinemeier Hansson --- install/config/all.sh | 1 + .../config/hardware/fix-apple-suspend-nvme.sh | 38 +++++++++++++++++++ migrations/1759913695.sh | 3 ++ 3 files changed, 42 insertions(+) create mode 100644 install/config/hardware/fix-apple-suspend-nvme.sh create mode 100644 migrations/1759913695.sh diff --git a/install/config/all.sh b/install/config/all.sh index f7a8de91..52516f19 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -28,4 +28,5 @@ run_logged $OMARCHY_INSTALL/config/hardware/nvidia.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm43xx.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh +run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-suspend-nvme.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh diff --git a/install/config/hardware/fix-apple-suspend-nvme.sh b/install/config/hardware/fix-apple-suspend-nvme.sh new file mode 100644 index 00000000..9ae11739 --- /dev/null +++ b/install/config/hardware/fix-apple-suspend-nvme.sh @@ -0,0 +1,38 @@ +# Fix NVMe suspend issues on MacBook models +# This prevents NVMe drives from failing to wake from sleep properly +MACBOOK_MODEL=$(cat /sys/class/dmi/id/product_name 2>/dev/null || true) + +if [[ "$MACBOOK_MODEL" =~ MacBook(8,1|9,1|10,1)|MacBookPro13,[123]|MacBookPro14,[123] ]]; then + echo "Detected MacBook model: $MACBOOK_MODEL" + echo "Applying NVMe suspend fix..." + + # Check if the NVMe device exists at the expected PCI address + NVME_DEVICE="/sys/bus/pci/devices/0000:01:00.0/d3cold_allowed" + + if [[ -f "$NVME_DEVICE" ]]; then + # Apply the fix immediately to prevent d3cold power state issues + echo 0 | sudo tee "$NVME_DEVICE" >/dev/null || true + + # Create systemd service to ensure fix persists across reboots + # The service runs after multi-user.target to ensure the device is available + cat </dev/null +[Unit] +Description=Omarchy NVMe Suspend Fix for MacBook + +[Service] +ExecStart=/bin/bash -c 'echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed' + +[Install] +WantedBy=multi-user.target +EOF + + # Enable the service to run on boot + sudo systemctl enable omarchy-nvme-suspend-fix.service + sudo systemctl daemon-reload + + echo "NVMe suspend fix applied and systemd service enabled" + else + echo "Warning: NVMe device not found at expected PCI address (0000:01:00.0)" + echo "This fix may not be needed for this MacBook model" + fi +fi diff --git a/migrations/1759913695.sh b/migrations/1759913695.sh new file mode 100644 index 00000000..8ce4ad13 --- /dev/null +++ b/migrations/1759913695.sh @@ -0,0 +1,3 @@ +echo "Fix NVMe suspend issues on MacBook models" + +bash $OMARCHY_PATH/install/config/hardware/fix-apple-suspend-nvme.sh From 00b3983f8a0b671ea523acd6be22c0b012de6099 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 20:34:52 -0400 Subject: [PATCH 103/209] Fix ctrl+insert keybindings in kitty and ghostty too So we can use it for super+c --- config/ghostty/config | 1 + config/kitty/kitty.conf | 3 ++- migrations/1759895423.sh | 11 +++++++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/config/ghostty/config b/config/ghostty/config index 85280779..b4a85836 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -22,6 +22,7 @@ shell-integration-features = no-cursor # Keyboard bindings keybind = f11=toggle_fullscreen keybind = shift+insert=paste_from_clipboard +keybind = control+insert=copy_to_clipboard # SSH session terminfo shell-integration-features = ssh-env diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index 5e2faf17..75be766a 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -14,6 +14,7 @@ confirm_os_window_close 0 # Keybindings map F11 toggle_fullscreen +map ctrl+insert copy_to_clipboard # Allow remote access single_instance yes @@ -23,7 +24,7 @@ allow_remote_control yes cursor_shape block enable_audio_bell no -# Minimal Tab bar styling +# Minimal Tab bar styling tab_bar_edge bottom tab_bar_style powerline tab_powerline_style slanted diff --git a/migrations/1759895423.sh b/migrations/1759895423.sh index 0b94a5b9..fcaeb417 100644 --- a/migrations/1759895423.sh +++ b/migrations/1759895423.sh @@ -1,3 +1,10 @@ -echo "Make shift+insert paste from clipboard" -sed -i '/keybind = f11=toggle_fullscreen/a keybind = shift+insert=paste_from_clipboard' ~/.config/ghostty/config +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 From 9d8d4bc5c1febfe4600864473d2e97df8a0f250f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 21:09:14 -0400 Subject: [PATCH 104/209] Include flexoki as new default theme --- config/nvim/lua/plugins/all-themes.lua | 113 +++++++++++++------------ 1 file changed, 59 insertions(+), 54 deletions(-) diff --git a/config/nvim/lua/plugins/all-themes.lua b/config/nvim/lua/plugins/all-themes.lua index c17001a3..4c38f98f 100644 --- a/config/nvim/lua/plugins/all-themes.lua +++ b/config/nvim/lua/plugins/all-themes.lua @@ -1,56 +1,61 @@ return { - -- Load all theme plugins but don't apply them - -- This ensures all colorschemes are available for hot-reloading - { - "ribru17/bamboo.nvim", - lazy = true, - priority = 1000, - }, - { - "catppuccin/nvim", - name = "catppuccin", - lazy = true, - priority = 1000, - }, - { - "sainnhe/everforest", - lazy = true, - priority = 1000, - }, - { - "ellisonleao/gruvbox.nvim", - lazy = true, - priority = 1000, - }, - { - "rebelot/kanagawa.nvim", - lazy = true, - priority = 1000, - }, - { - "tahayvr/matteblack.nvim", - lazy = true, - priority = 1000, - }, - { - "loctvl842/monokai-pro.nvim", - lazy = true, - priority = 1000, - }, - { - "shaunsingh/nord.nvim", - lazy = true, - priority = 1000, - }, - { - "rose-pine/neovim", - name = "rose-pine", - lazy = true, - priority = 1000, - }, - { - "folke/tokyonight.nvim", - lazy = true, - priority = 1000, - }, + -- Load all theme plugins but don't apply them + -- This ensures all colorschemes are available for hot-reloading + { + "ribru17/bamboo.nvim", + lazy = true, + priority = 1000, + }, + { + "catppuccin/nvim", + name = "catppuccin", + lazy = true, + priority = 1000, + }, + { + "sainnhe/everforest", + lazy = true, + priority = 1000, + }, + { + "kepano/flexoki-neovim", + lazy = true, + priority = 1000, + }, + { + "ellisonleao/gruvbox.nvim", + lazy = true, + priority = 1000, + }, + { + "rebelot/kanagawa.nvim", + lazy = true, + priority = 1000, + }, + { + "tahayvr/matteblack.nvim", + lazy = true, + priority = 1000, + }, + { + "loctvl842/monokai-pro.nvim", + lazy = true, + priority = 1000, + }, + { + "shaunsingh/nord.nvim", + lazy = true, + priority = 1000, + }, + { + "rose-pine/neovim", + name = "rose-pine", + lazy = true, + priority = 1000, + }, + { + "folke/tokyonight.nvim", + lazy = true, + priority = 1000, + }, } From 6c2c85d2b9683d04ba3ad3a99939ab8341f4ace9 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Oct 2025 21:13:01 -0400 Subject: [PATCH 105/209] Couldn't install them like this without having them appear as corporate managed --- install/config/browser-policies.sh | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 install/config/browser-policies.sh diff --git a/install/config/browser-policies.sh b/install/config/browser-policies.sh deleted file mode 100644 index cc1fc645..00000000 --- a/install/config/browser-policies.sh +++ /dev/null @@ -1,9 +0,0 @@ -# Add 1password extension to Chromium -sudo mkdir -p /etc/chromium/policies/managed/ -sudo cp $OMARCHY_PATH/default/chromium/policies/managed/onepassword.json /etc/chromium/policies/managed/onepassword.json -sudo chmod 644 /etc/chromium/policies/managed/onepassword.json - -# Add 1password extension to future Brave installs -sudo mkdir -p /etc/brave/policies/managed/ -sudo cp $OMARCHY_PATH/default/brave/policies/managed/onepassword.json /etc/brave/policies/managed/onepassword.json -sudo chmod 644 /etc/brave/policies/managed/onepassword.json From 7e7b37095f80efd544ae25162ea4a14b7338d6c0 Mon Sep 17 00:00:00 2001 From: Andrej Benz Date: Mon, 13 Oct 2025 05:28:01 +0200 Subject: [PATCH 106/209] fix: broken walker keybinding --- config/walker/config.toml | 8 ++++++-- default/hypr/bindings/utilities.conf | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config/walker/config.toml b/config/walker/config.toml index 55549733..85a86a12 100644 --- a/config/walker/config.toml +++ b/config/walker/config.toml @@ -32,6 +32,10 @@ default = [ "websearch", ] # providers to be queried by default empty = ["desktopapplications"] # providers to be queried when query is empty +max_results = 50 # global max results + +[providers.sets] # define your own defaults/empty sets of providers +[providers.max_results_provider] # define max results per provider in here [[providers.prefixes]] prefix = "/" @@ -57,7 +61,7 @@ provider = "websearch" prefix = "$" provider = "clipboard" -[providers.actions] +[providers.actions] # This will be MERGED/OVEWRITTEN with what the user specifies dmenu = [{ action = "select", default = true, bind = "Return" }] providerlist = [ @@ -92,7 +96,7 @@ websearch = [ desktopapplications = [ { action = "start", default = true, bind = "Return" }, - { action = "start", label = "open+next", bind = "shift Return", after = "KeepOpen" }, + { action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" }, { action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" }, { action = "pin", bind = "ctrl p", after = "AsyncReload" }, { action = "unpin", bind = "ctrl p", after = "AsyncReload" }, diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 84cd1675..9ddc5d4d 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -1,7 +1,7 @@ # Menus bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols -bindd = SUPER CTRL, V, Emoji picker, exec, omarchy-launch-walker -m clipboard +bindd = SUPER CTRL, V, Clipboard, exec, omarchy-launch-walker -m clipboard bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system From 10e8fe581b57b2373b260040f76656592ec5b206 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Mon, 13 Oct 2025 01:00:27 -0400 Subject: [PATCH 107/209] Prompt if they have a keyring --- migrations/1760304963.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/migrations/1760304963.sh b/migrations/1760304963.sh index 4545e3e0..e1c519c6 100644 --- a/migrations/1760304963.sh +++ b/migrations/1760304963.sh @@ -1,3 +1,9 @@ echo "Add a default keyring for gnome-keyring that unlocks on login" -bash "$OMARCHY_PATH/install/login/default-keyring.sh" +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 From 2213589e6e19d52bad4a397c93c0f907c628cb60 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Mon, 13 Oct 2025 01:00:50 -0400 Subject: [PATCH 108/209] Remove restart sddm --- install/login/sddm.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/install/login/sddm.sh b/install/login/sddm.sh index 7a3009d4..2fc19dae 100644 --- a/install/login/sddm.sh +++ b/install/login/sddm.sh @@ -11,6 +11,4 @@ Current=breeze EOF fi -echo "$USER ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart sddm" | sudo tee /etc/sudoers.d/allow-passwordless-restart-sddm - chrootable_systemctl_enable sddm.service From 9783b4b782ecdc4e3f13f848c23cdafab32340e7 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Mon, 13 Oct 2025 01:01:38 -0400 Subject: [PATCH 109/209] Exit hyprland for now --- bin/omarchy-menu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 2da22ad2..63f4a65f 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -453,7 +453,7 @@ show_system_menu() { *Lock*) omarchy-lock-screen ;; *Screensaver*) omarchy-launch-screensaver force ;; *Suspend*) systemctl suspend ;; - *Relaunch*) omarchy-state clear relaunch-required && sudo systemctl restart sddm ;; + *Relaunch*) omarchy-state clear relaunch-required && hyprctl dispatch exit ;; *Restart*) omarchy-state clear re*-required && systemctl reboot --no-wall ;; *Shutdown*) omarchy-state clear re*-required && systemctl poweroff --no-wall ;; *) back_to show_main_menu ;; From c6627f0e67f2897a24fc64f8a1a4a2c51fdbcd16 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Mon, 13 Oct 2025 01:06:56 -0400 Subject: [PATCH 110/209] Cleanup --- install/config/hardware/fix-apple-suspend-nvme.sh | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/install/config/hardware/fix-apple-suspend-nvme.sh b/install/config/hardware/fix-apple-suspend-nvme.sh index 9ae11739..e6cbb5a3 100644 --- a/install/config/hardware/fix-apple-suspend-nvme.sh +++ b/install/config/hardware/fix-apple-suspend-nvme.sh @@ -4,17 +4,12 @@ MACBOOK_MODEL=$(cat /sys/class/dmi/id/product_name 2>/dev/null || true) if [[ "$MACBOOK_MODEL" =~ MacBook(8,1|9,1|10,1)|MacBookPro13,[123]|MacBookPro14,[123] ]]; then echo "Detected MacBook model: $MACBOOK_MODEL" - echo "Applying NVMe suspend fix..." - # Check if the NVMe device exists at the expected PCI address NVME_DEVICE="/sys/bus/pci/devices/0000:01:00.0/d3cold_allowed" if [[ -f "$NVME_DEVICE" ]]; then - # Apply the fix immediately to prevent d3cold power state issues - echo 0 | sudo tee "$NVME_DEVICE" >/dev/null || true + echo "Applying NVMe suspend fix..." - # Create systemd service to ensure fix persists across reboots - # The service runs after multi-user.target to ensure the device is available cat </dev/null [Unit] Description=Omarchy NVMe Suspend Fix for MacBook @@ -26,11 +21,8 @@ ExecStart=/bin/bash -c 'echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allo WantedBy=multi-user.target EOF - # Enable the service to run on boot sudo systemctl enable omarchy-nvme-suspend-fix.service sudo systemctl daemon-reload - - echo "NVMe suspend fix applied and systemd service enabled" else echo "Warning: NVMe device not found at expected PCI address (0000:01:00.0)" echo "This fix may not be needed for this MacBook model" From 5057101bbd0402b948c7fa0818693fac7fb887be Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Mon, 13 Oct 2025 01:09:12 -0400 Subject: [PATCH 111/209] Use chrootabl_systemctl_enable --- install/config/hardware/fix-apple-suspend-nvme.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/hardware/fix-apple-suspend-nvme.sh b/install/config/hardware/fix-apple-suspend-nvme.sh index e6cbb5a3..35724112 100644 --- a/install/config/hardware/fix-apple-suspend-nvme.sh +++ b/install/config/hardware/fix-apple-suspend-nvme.sh @@ -21,7 +21,7 @@ ExecStart=/bin/bash -c 'echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allo WantedBy=multi-user.target EOF - sudo systemctl enable omarchy-nvme-suspend-fix.service + chrootable_systemctl_enable omarchy-nvme-suspend-fix.service sudo systemctl daemon-reload else echo "Warning: NVMe device not found at expected PCI address (0000:01:00.0)" From 5b8ee60cc42e3701446397afdabfb63f5dfce3a5 Mon Sep 17 00:00:00 2001 From: sadd al Date: Mon, 13 Oct 2025 09:19:50 +0500 Subject: [PATCH 112/209] fix: make bcm43xx driver script vendor agnostic --- install/config/all.sh | 2 +- install/config/hardware/fix-apple-bcm43xx.sh | 11 ----------- install/config/hardware/fix-bcm43xx.sh | 10 ++++++++++ 3 files changed, 11 insertions(+), 12 deletions(-) delete mode 100644 install/config/hardware/fix-apple-bcm43xx.sh create mode 100644 install/config/hardware/fix-bcm43xx.sh diff --git a/install/config/all.sh b/install/config/all.sh index 52516f19..2304d8e9 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -26,7 +26,7 @@ run_logged $OMARCHY_INSTALL/config/hardware/usb-autosuspend.sh run_logged $OMARCHY_INSTALL/config/hardware/ignore-power-button.sh run_logged $OMARCHY_INSTALL/config/hardware/nvidia.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh -run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm43xx.sh +run_logged $OMARCHY_INSTALL/config/hardware/fix-bcm43xx.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-suspend-nvme.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh diff --git a/install/config/hardware/fix-apple-bcm43xx.sh b/install/config/hardware/fix-apple-bcm43xx.sh deleted file mode 100644 index 1311a491..00000000 --- a/install/config/hardware/fix-apple-bcm43xx.sh +++ /dev/null @@ -1,11 +0,0 @@ -# Install Wi-Fi drivers for Broadcom chips on MacBooks: -# - BCM4360 (2013–2015) -# - BCM4331 (2012, early 2013) - -pci_info=$(lspci -nnv) - -if echo "$pci_info" | grep -q "106b:" && - (echo "$pci_info" | grep -q "14e4:43a0" || echo "$pci_info" | grep -q "14e4:4331"); then - echo "Apple BCM4360 / BCM4331 detected" - sudo pacman -S --noconfirm --needed broadcom-wl dkms linux-headers -fi diff --git a/install/config/hardware/fix-bcm43xx.sh b/install/config/hardware/fix-bcm43xx.sh new file mode 100644 index 00000000..d6eebd86 --- /dev/null +++ b/install/config/hardware/fix-bcm43xx.sh @@ -0,0 +1,10 @@ +# Install Wi-Fi drivers for Broadcom chips: +# - BCM4360 (2013–2015) +# - BCM4331 (2012, early 2013) + +pci_info=$(lspci -nnv) + +if (echo "$pci_info" | grep -q "14e4:43a0" || echo "$pci_info" | grep -q "14e4:4331"); then + echo "BCM4360 / BCM4331 detected" + sudo pacman -S --noconfirm --needed broadcom-wl dkms linux-headers +fi From ff3d65993ea783d4db1b7998ead5e5e860164d5e Mon Sep 17 00:00:00 2001 From: Luke Hsiao Date: Tue, 14 Oct 2025 01:43:20 -0600 Subject: [PATCH 113/209] Fix font menu by using `--width` parameter for `walker` (#2444) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When we call `omarchy-launch-walker` with `-w`, we get the following error. echo -e $'Adwaita Mono\nBerkeley Mono\nBerkeley Mono Variable\nCaskaydiaMono Nerd Font\nCaskaydiaMono Nerd Font Mono\niA Writer Mono S\nIosevka Fixed\nJetBrainsMono Nerd Font\nJetBrainsMono Nerd Font Mono\nJetBrainsMonoNL Nerd Font\nJetBrainsMonoNL Nerd Font Mono\nLiberation Mono\nNimbus Mono PS' | omarchy-launch-walker --dmenu --width 295 --minheight 1 --maxheight 600 -p Font… -w 350 -c 3 Error parsing option -w Instead, we now pass `--width`, to properly override the default `--width 295` for fonts. Closes: https://github.com/basecamp/omarchy/issues/2404 Signed-off-by: Luke Hsiao --- bin/omarchy-menu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 63f4a65f..27b1edfa 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -163,7 +163,7 @@ show_theme_menu() { } show_font_menu() { - theme=$(menu "Font" "$(omarchy-font-list)" "-w 350" "$(omarchy-font-current)") + theme=$(menu "Font" "$(omarchy-font-list)" "--width 350" "$(omarchy-font-current)") if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then back_to show_style_menu else @@ -318,7 +318,7 @@ show_install_style_menu() { } show_install_font_menu() { - case $(menu "Install" " Meslo LG Mono\n Fira Code\n Victor Code\n Bistream Vera Mono" "-w 350") in + case $(menu "Install" " Meslo LG Mono\n Fira Code\n Victor Code\n Bistream Vera Mono" "--width 350") in *Meslo*) install_font "Meslo LG Mono" "ttf-meslo-nerd" "MesloLGL Nerd Font" ;; *Fira*) install_font "Fira Code" "ttf-firacode-nerd" "FiraCode Nerd Font" ;; *Victor*) install_font "Victor Code" "ttf-victor-mono-nerd" "VictorMono Nerd Font" ;; From 87d7bd966bd81f8c3e58793163aaed3ab57a51eb Mon Sep 17 00:00:00 2001 From: Luke Hsiao Date: Tue, 14 Oct 2025 01:43:57 -0600 Subject: [PATCH 114/209] Fix typo in omarchy-update-firmware (#2442) Signed-off-by: Luke Hsiao --- bin/omarchy-update-firmware | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-update-firmware b/bin/omarchy-update-firmware index dbcb8f53..10e490f4 100755 --- a/bin/omarchy-update-firmware +++ b/bin/omarchy-update-firmware @@ -1,7 +1,7 @@ #!/bin/bash set -e -echo -e "\e[32mUpdate Firmare\e[0m" +echo -e "\e[32mUpdate Firmware\e[0m" if omarchy-cmd-missing fwupdmgr; then omarchy-pkg-add fwupd From 800962b18fe39e1bb8b4be6e7206f7ce214b519b Mon Sep 17 00:00:00 2001 From: Derek Date: Tue, 14 Oct 2025 01:44:55 -0700 Subject: [PATCH 115/209] fix: prevent Chromium crash when moving windows between monitors (#2394) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: prevent Chromium crash when moving windows between monitors Adds --disable-features=WaylandWpColorManagerV1 to Chromium and Brave flag configs to prevent crashes when moving windows between monitors or workspaces on Hyprland. This is a workaround for a Chromium/Wayland color management conflict. Upstream Chromium fix exists but won't reach stable for ~a month. This provides a temporary bridge until the fix lands in stable releases. Fixes #2384 Refs #2184 Refs: https://github.com/hyprwm/Hyprland/issues/11957 Refs: https://github.com/hyprwm/Hyprland/discussions/11961 Refs: https://issues.chromium.org/issues/40263183 Refs: https://chromium-review.googlesource.com/c/chromium/src/+/7003036 * Add migration to update existing Chromium/Brave configs with crash fix Adds migration script to append --disable-features=WaylandWpColorManagerV1 to existing users' chromium-flags.conf and brave-flags.conf files. The script: - Checks if config files exist before attempting to modify them - Uses grep to verify the flag isn't already present - Only adds the flag and explanatory comment if needed - Handles both Chromium and Brave configurations This ensures existing Omarchy users get the Hyprland crash workaround without needing to manually update their configs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude * Fix warnings and make conditional explicit --------- Co-authored-by: Derek Castillo Co-authored-by: Claude Co-authored-by: David Heinemeier Hansson --- config/brave-flags.conf | 2 ++ config/chromium-flags.conf | 2 ++ migrations/1760401344.sh | 15 +++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 migrations/1760401344.sh diff --git a/config/brave-flags.conf b/config/brave-flags.conf index d6d120e6..3510e03d 100644 --- a/config/brave-flags.conf +++ b/config/brave-flags.conf @@ -1,3 +1,5 @@ --ozone-platform=wayland --ozone-platform-hint=wayland --enable-features=TouchpadOverscrollHistoryNavigation +# Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957 +--disable-features=WaylandWpColorManagerV1 diff --git a/config/chromium-flags.conf b/config/chromium-flags.conf index 88c8082b..bce00d52 100644 --- a/config/chromium-flags.conf +++ b/config/chromium-flags.conf @@ -2,3 +2,5 @@ --ozone-platform-hint=wayland --enable-features=TouchpadOverscrollHistoryNavigation --load-extension=~/.local/share/omarchy/default/chromium/extensions/copy-url +# Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957 +--disable-features=WaylandWpColorManagerV1 diff --git a/migrations/1760401344.sh b/migrations/1760401344.sh new file mode 100644 index 00000000..5e5ca300 --- /dev/null +++ b/migrations/1760401344.sh @@ -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 From d615d2f9b578056eb022759393d8b35254a786be Mon Sep 17 00:00:00 2001 From: Alexandre Perreault Date: Tue, 14 Oct 2025 04:51:55 -0400 Subject: [PATCH 116/209] fix: mute output when hiding cursor in screensaver (#2419) --- bin/omarchy-cmd-screensaver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index e336c8b0..a53a27ff 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -13,7 +13,7 @@ exit_screensaver() { trap exit_screensaver SIGINT SIGTERM SIGHUP SIGQUIT -hyprctl keyword cursor:invisible true +hyprctl keyword cursor:invisible true &>/dev/null while true; do effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1) From 313dcd4468e69888d70fca89962d25051f8701cc Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 12:02:18 +0300 Subject: [PATCH 117/209] Fix referencing existing extension --- themes/flexoki-light/vscode.json | 549 +------------------------------ 1 file changed, 3 insertions(+), 546 deletions(-) diff --git a/themes/flexoki-light/vscode.json b/themes/flexoki-light/vscode.json index a1ad3d37..00a20456 100644 --- a/themes/flexoki-light/vscode.json +++ b/themes/flexoki-light/vscode.json @@ -1,547 +1,4 @@ { - "name": "Flexoki", - "type": "light", - "colors": { - "editor.background": "#FFFCF0", - "editor.foreground": "#100F0F", - "editor.hoverHighlightBackground": "#DAD8CE", - "editor.lineHighlightBackground": "#F2F0E5", - "editor.selectionBackground": "#100F0F44", - "editor.selectionHighlightBackground": "#100F0F44", - "editor.findMatchBackground": "#D0A215", - "editor.findMatchHighlightBackground": "#D0A215cc", - "editor.findRangeHighlightBackground": "#F2F0E5", - "editor.inactiveSelectionBackground": "#E6E4D9", - "editor.lineHighlightBorder": "#E6E4D9", - "editor.rangeHighlightBackground": "#CECDC3", - "notifications.background": "#E6E4D9", - "editorInlayHint.typeBackground": "#DAD8CE", - "editorInlayHint.typeForeground": "#100F0F", - "editorWhitespace.foreground": "#CECDC3", - "editorIndentGuide.background1": "#DAD8CE", - "editorHoverWidget.background": "#E6E4D9", - "editorLineNumber.activeForeground": "#100F0F", - "editorLineNumber.foreground": "#CECDC3", - "editorGutter.background": "#FFFCF0", - "editorGutter.modifiedBackground": "#24837B", - "editorGutter.addedBackground": "#66800B", - "editorGutter.deletedBackground": "#AF3029", - "editorBracketMatch.background": "#E6E4D9", - "editorBracketMatch.border": "#DAD8CE", - "editorError.foreground": "#AF3029", - "editorWarning.foreground": "#BC5215", - "editorInfo.foreground": "#205EA6", - "diffEditor.insertedTextBackground": "#879A3999", - "diffEditor.removedTextBackground": "#D14D4199", - "editorGroupHeader.tabsBackground": "#FFFCF0", - "editorGroup.border": "#DAD8CE", - "tab.activeBackground": "#FFFCF0", - "tab.inactiveBackground": "#F2F0E5", - "tab.inactiveForeground": "#6F6E69", - "tab.activeForeground": "#100F0F", - "tab.hoverBackground": "#DAD8CE", - "tab.unfocusedHoverBackground": "#DAD8CE", - "tab.border": "#DAD8CE", - "tab.activeModifiedBorder": "#AD8301", - "tab.inactiveModifiedBorder": "#205EA6", - "tab.unfocusedActiveModifiedBorder": "#D0A215", - "tab.unfocusedInactiveModifiedBorder": "#4385BE", - "editorWidget.background": "#F2F0E5", - "editorWidget.border": "#DAD8CE", - "editorSuggestWidget.background": "#FFFCF0", - "editorSuggestWidget.border": "#DAD8CE", - "editorSuggestWidget.foreground": "#100F0F", - "editorSuggestWidget.highlightForeground": "#6F6E69", - "editorSuggestWidget.selectedBackground": "#DAD8CE", - "peekView.border": "#DAD8CE", - "peekViewEditor.background": "#FFFCF0", - "peekViewEditor.matchHighlightBackground": "#CECDC3", - "peekViewResult.background": "#F2F0E5", - "peekViewResult.fileForeground": "#100F0F", - "peekViewResult.lineForeground": "#6F6E69", - "peekViewResult.matchHighlightBackground": "#CECDC3", - "peekViewResult.selectionBackground": "#E6E4D9", - "peekViewResult.selectionForeground": "#B7B5AC", - "peekViewTitle.background": "#DAD8CE", - "peekViewTitleDescription.foreground": "#6F6E69", - "peekViewTitleLabel.foreground": "#100F0F", - "merge.currentHeaderBackground": "#66800B", - "merge.currentContentBackground": "#879A39", - "merge.incomingHeaderBackground": "#24837B", - "merge.incomingContentBackground": "#3AA99F", - "merge.border": "#DAD8CE", - "merge.commonContentBackground": "#CECDC3", - "merge.commonHeaderBackground": "#DAD8CE", - "panel.background": "#FFFCF0", - "panel.border": "#DAD8CE", - "panelTitle.activeBorder": "#CECDC3", - "panelTitle.activeForeground": "#100F0F", - "panelTitle.inactiveForeground": "#6F6E69", - "statusBar.background": "#FFFCF0", - "statusBar.foreground": "#100F0F", - "statusBar.border": "#DAD8CE", - "statusBar.debuggingBackground": "#AF3029", - "statusBar.debuggingForeground": "#100F0F", - "statusBar.noFolderBackground": "#CECDC3", - "statusBar.noFolderForeground": "#B7B5AC", - "titleBar.activeBackground": "#FFFCF0", - "titleBar.activeForeground": "#100F0F", - "titleBar.inactiveBackground": "#F2F0E5", - "titleBar.inactiveForeground": "#6F6E69", - "titleBar.border": "#DAD8CE", - "menu.foreground": "#100F0F", - "menu.background": "#FFFCF0", - "menu.selectionForeground": "#100F0F", - "menu.selectionBackground": "#DAD8CE", - "menu.border": "#DAD8CE", - "editorInlayHint.foreground": "#6F6E69", - "editorInlayHint.background": "#DAD8CE", - "terminal.foreground": "#100F0F", - "terminal.background": "#FFFCF0", - "terminalCursor.foreground": "#100F0F", - "terminalCursor.background": "#FFFCF0", - "terminal.ansiRed": "#AF3029", - "terminal.ansiGreen": "#66800B", - "terminal.ansiYellow": "#AD8301", - "terminal.ansiBlue": "#205EA6", - "terminal.ansiMagenta": "#24837B", - "terminal.ansiCyan": "#24837B", - "activityBar.background": "#FFFCF0", - "activityBar.foreground": "#100F0F", - "activityBar.inactiveForeground": "#6F6E69", - "activityBar.activeBorder": "#100F0F", - "activityBar.border": "#DAD8CE", - "sideBar.background": "#FFFCF0", - "sideBar.foreground": "#100F0F", - "sideBar.border": "#DAD8CE", - "sideBarTitle.foreground": "#100F0F", - "sideBarSectionHeader.background": "#F2F0E5", - "sideBarSectionHeader.foreground": "#100F0F", - "sideBarSectionHeader.border": "#DAD8CE", - "sideBar.activeBackground": "#CECDC3", - "sideBar.activeForeground": "#100F0F", - "sideBar.hoverBackground": "#DAD8CE", - "sideBar.hoverForeground": "#6F6E69", - "sideBar.folderIcon.foreground": "#66800B", - "sideBar.fileIcon.foreground": "#205EA6", - "list.warningForeground": "#BC5215", - "list.errorForeground": "#AF3029", - "list.inactiveSelectionBackground": "#DAD8CE", - "list.activeSelectionBackground": "#CECDC3", - "list.inactiveSelectionForeground": "#100F0F", - "list.activeSelectionForeground": "#100F0F", - "list.hoverForeground": "#100F0F", - "list.hoverBackground": "#DAD8CE", - "input.background": "#F2F0E5", - "input.foreground": "#100F0F", - "input.border": "#DAD8CE", - "input.placeholderForeground": "#6F6E69", - "inputOption.activeBorder": "#DAD8CE", - "inputOption.activeBackground": "#E6E4D9", - "inputOption.activeForeground": "#100F0F", - "inputValidation.infoBackground": "#24837B", - "inputValidation.infoBorder": "#3AA99F", - "inputValidation.warningBackground": "#BC5215", - "inputValidation.warningBorder": "#DA702C", - "inputValidation.errorBackground": "#AF3029", - "inputValidation.errorBorder": "#D14D41", - "dropdown.background": "#F2F0E5", - "dropdown.foreground": "#100F0F", - "dropdown.border": "#DAD8CE", - "dropdown.listBackground": "#FFFCF0", - "badge.background": "#24837B", - "activityBarBadge.background": "#24837B", - "button.background": "#24837B", - "button.foreground": "#FFFCF0", - "badge.foreground": "#FFFCF0", - "activityBarBadge.foreground": "#FFFCF0" - }, - "tokenColors": [ - { - "name": "plain", - "scope": ["source", "support.type.property-name.css"], - "settings": { - "foreground": "#100F0F" - } - }, - { - "name": "classes", - "scope": ["entity.name.type.class"], - "settings": { - "foreground": "#BC5215" - } - }, - { - "name": "interfaces", - "scope": ["entity.name.type.interface", "entity.name.type"], - "settings": { - "foreground": "#AD8301" - } - }, - { - "name": "structs", - "scope": ["entity.name.type.struct"], - "settings": { - "foreground": "#BC5215" - } - }, - { - "name": "enums", - "scope": ["entity.name.type.enum"], - "settings": { - "foreground": "#BC5215" - } - }, - { - "name": "keys", - "scope": ["meta.object-literal.key", "support.type.property-name"], - "settings": { - "foreground": "#BC5215" - } - }, - { - "name": "methods", - "scope": ["entity.name.function.method", "meta.function.method"], - "settings": { - "foreground": "#66800B" - } - }, - { - "name": "functions", - "scope": [ - "entity.name.function", - "support.function", - "meta.function-call.generic" - ], - "settings": { - "foreground": "#BC5215", - "fontStyle": "bold" - } - }, - { - "name": "variables", - "scope": ["variable", "meta.variable", "variable.other.object.property"], - "settings": { - "foreground": "#100F0F" - } - }, - { - "name": "variablesOther", - "scope": ["variable.other.object", "variable.other.readwrite.alias"], - "settings": { - "foreground": "#66800B" - } - }, - { - "name": "globalVariables", - "scope": ["variable.other.global", "variable.language.this"], - "settings": { - "foreground": "#A02F6F" - } - }, - { - "name": "localVariables", - "scope": ["variable.other.local"], - "settings": { - "foreground": "#E6E4D9" - } - }, - { - "name": "parameters", - "scope": ["variable.parameter", "meta.parameter"], - "settings": { - "foreground": "#100F0F" - } - }, - { - "name": "properties", - "scope": ["variable.other.property", "meta.property"], - "settings": { - "foreground": "#205EA6" - } - }, - { - "name": "strings", - "scope": [ - "string", - "string.other.link", - "markup.inline.raw.string.markdown" - ], - "settings": { - "foreground": "#24837B" - } - }, - { - "name": "stringEscapeSequences", - "scope": ["constant.character.escape", "constant.other.placeholder"], - "settings": { - "foreground": "#100F0F" - } - }, - { - "name": "keywords", - "scope": ["keyword"], - "settings": { - "foreground": "#66800B" - } - }, - { - "name": "keywordsControl", - "scope": [ - "keyword.control.import", - "keyword.control.from", - "keyword.import" - ], - "settings": { - "foreground": "#AF3029" - } - }, - { - "name": "storageModifiers", - "scope": ["storage.modifier", "keyword.modifier", "storage.type"], - "settings": { - "foreground": "#205EA6" - } - }, - { - "name": "comments", - "scope": ["comment", "punctuation.definition.comment"], - "settings": { - "foreground": "#6F6E69" - } - }, - { - "name": "docComments", - "scope": ["comment.documentation", "comment.line.documentation"], - "settings": { - "foreground": "#B7B5AC" - } - }, - { - "name": "numbers", - "scope": ["constant.numeric"], - "settings": { - "foreground": "#5E409D" - } - }, - { - "name": "booleans", - "scope": ["constant.language.boolean", "constant.language.json"], - "settings": { - "foreground": "#AD8301" - } - }, - { - "name": "operators", - "scope": ["keyword.operator"], - "settings": { - "foreground": "#AF3029" - } - }, - { - "name": "macros", - "scope": ["entity.name.function.preprocessor", "meta.preprocessor"], - "settings": { - "foreground": "#205EA6" - } - }, - { - "name": "preprocessor", - "scope": ["meta.preprocessor"], - "settings": { - "foreground": "#A02F6F" - } - }, - { - "name": "urls", - "scope": ["markup.underline.link"], - "settings": { - "foreground": "#205EA6" - } - }, - { - "name": "tags", - "scope": ["entity.name.tag"], - "settings": { - "foreground": "#205EA6" - } - }, - { - "name": "jsxTags", - "scope": ["support.class.component"], - "settings": { - "foreground": "#A02F6F" - } - }, - { - "name": "attributes", - "scope": ["entity.other.attribute-name", "meta.attribute"], - "settings": { - "foreground": "#AD8301" - } - }, - { - "name": "types", - "scope": ["support.type"], - "settings": { - "foreground": "#AD8301" - } - }, - { - "name": "constants", - "scope": ["variable.other.constant", "variable.readonly"], - "settings": { - "foreground": "#100F0F" - } - }, - { - "name": "labels", - "scope": ["entity.name.label", "punctuation.definition.label"], - "settings": { - "foreground": "#A02F6F" - } - }, - { - "name": "namespaces", - "scope": [ - "entity.name.namespace", - "storage.modifier.namespace", - "markup.bold.markdown" - ], - "settings": { - "foreground": "#AD8301" - } - }, - { - "name": "modules", - "scope": ["entity.name.module", "storage.modifier.module"], - "settings": { - "foreground": "#AF3029" - } - }, - { - "name": "typeParameters", - "scope": ["variable.type.parameter", "variable.parameter.type"], - "settings": { - "foreground": "#BC5215" - } - }, - { - "name": "exceptions", - "scope": ["keyword.control.exception", "keyword.control.trycatch"], - "settings": { - "foreground": "#A02F6F" - } - }, - { - "name": "decorators", - "scope": [ - "meta.decorator", - "punctuation.decorator", - "entity.name.function.decorator" - ], - "settings": { - "foreground": "#AD8301" - } - }, - { - "name": "calls", - "scope": ["variable.function"], - "settings": { - "foreground": "#100F0F" - } - }, - { - "name": "punctuation", - "scope": [ - "punctuation", - "punctuation.terminator", - "punctuation.definition.tag", - "punctuation.separator", - "punctuation.definition.string", - "punctuation.section.block" - ], - "settings": { - "foreground": "#6F6E69" - } - }, - { - "name": "yellow", - "scope": [ - "storage.type.numeric.go", - "storage.type.byte.go", - "storage.type.boolean.go", - "storage.type.string.go", - "storage.type.uintptr.go", - "storage.type.error.go", - "storage.type.rune.go", - "constant.language.go", - "support.class.dart", - "keyword.other.documentation", - "storage.modifier.import.java", - "punctuation.definition.list.begin.markdown", - "punctuation.definition.quote.begin.markdown", - "meta.separator.markdown", - "entity.name.section.markdown" - ], - "settings": { - "foreground": "#AD8301" - } - }, - { - "name": "green", - "scope": [], - "settings": { - "foreground": "#66800B" - } - }, - { - "name": "cyan", - "scope": [ - "markup.italic.markdown", - "support.type.python", - "variable.legacy.builtin.python", - "support.constant.property-value.css", - "storage.modifier.attribute.swift" - ], - "settings": { - "foreground": "#24837B" - } - }, - { - "name": "blue", - "scope": [], - "settings": { - "foreground": "#205EA6" - } - }, - { - "name": "purple", - "scope": ["keyword.channel.go", "keyword.other.platform.os.swift"], - "settings": { - "foreground": "#5E409D" - } - }, - { - "name": "magenta", - "scope": ["punctuation.definition.heading.markdown"], - "settings": { - "foreground": "#A02F6F" - } - }, - { - "name": "red", - "scope": [], - "settings": { - "foreground": "#AF3029" - } - }, - { - "name": "orange", - "scope": [], - "settings": { - "foreground": "#BC5215" - } - } - ] -} \ No newline at end of file + "name": "flexoki-light", + "extension": "shadesOfBuntu.flexoki-light" +} From 491e980dd967e8a0bb1feb7f41e738600c12097c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 12:02:27 +0300 Subject: [PATCH 118/209] Style --- bin/omarchy-theme-set-vscode | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/bin/omarchy-theme-set-vscode b/bin/omarchy-theme-set-vscode index 4c911897..1bde3161 100755 --- a/bin/omarchy-theme-set-vscode +++ b/bin/omarchy-theme-set-vscode @@ -25,15 +25,14 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then # Create config file if there isn't already one mkdir -p "$(dirname "$SETTINGS_PATH")" if [[ ! -f "$SETTINGS_PATH" ]]; then - printf '{\n}\n' > "$SETTINGS_PATH" + printf '{\n}\n' >"$SETTINGS_PATH" fi # Create a `workbench.colorTheme` entry in settings. if ! grep -q '"workbench.colorTheme"' "$SETTINGS_PATH"; then # Insert `"workbench.colorTheme": "",` immediately after the first `{` # Use sed's first-match range (0,/{/) to only replace the first `{` - sed -i --follow-symlinks -E '0,/\{/{s/\{/{\ - "workbench.colorTheme": "",/}' "$SETTINGS_PATH" + sed -i --follow-symlinks -E '0,/\{/{s/\{/{\ "workbench.colorTheme": "",/}' "$SETTINGS_PATH" fi # Update theme @@ -44,7 +43,6 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then # Remove theme from settings.json when the theme doesn't have $EDITOR_NAME support if [[ -f "$SETTINGS_PATH" ]]; then sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$SETTINGS_PATH" - fi fi fi From 9c8dad9054fa154bb5ece8ef70928053ccc7b433 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 12:15:10 +0300 Subject: [PATCH 119/209] Not needed and distracting when themes are not available for Cursor --- bin/omarchy-theme-set-vscode | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/omarchy-theme-set-vscode b/bin/omarchy-theme-set-vscode index 1bde3161..c1bc803c 100755 --- a/bin/omarchy-theme-set-vscode +++ b/bin/omarchy-theme-set-vscode @@ -18,7 +18,6 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then # Install $EDITOR_NAME theme extension if [[ -n "$extension" ]] && ! "$EDITOR_CMD" --list-extensions | grep -Fxq "$extension"; then - notify-send " Installing $EDITOR_NAME theme for $theme_name" "$EDITOR_CMD" --install-extension "$extension" >/dev/null fi From 90536dff3fa4a5e15c4f5fb83aaee6521f6dab69 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 12:35:06 +0300 Subject: [PATCH 120/209] Fix screenrecording menu and reveal it as the only hotkey --- bin/omarchy-menu | 6 +++--- default/hypr/bindings/utilities.conf | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 27b1edfa..6da050e3 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -114,11 +114,11 @@ show_screenshot_menu() { show_screenrecord_menu() { case $(menu "Screenrecord" " Region\n Region + Audio\n Display\n Display + Audio") in - *"Region + Audio"*) omarchy-cmd-screenrecord region audio ;; + *"Region + Audio"*) omarchy-cmd-screenrecord region --with-audio ;; *Region*) omarchy-cmd-screenrecord ;; - *"Display + Audio"*) omarchy-cmd-screenrecord output audio ;; + *"Display + Audio"*) omarchy-cmd-screenrecord output --with-audio ;; *Display*) omarchy-cmd-screenrecord output ;; - *) show_capture_menu ;; + *) back_to show_capture_menu ;; esac } diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 9ddc5d4d..67c99e61 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -36,10 +36,7 @@ bindd = SHIFT, PRINT, Screenshot of window, exec, omarchy-cmd-screenshot window bindd = CTRL, PRINT, Screenshot of display, exec, omarchy-cmd-screenshot output # Screen recordings -bindd = ALT, PRINT, Screen record a region, exec, omarchy-cmd-screenrecord region -bindd = ALT SHIFT, PRINT, Screen record a region with audio, exec, omarchy-cmd-screenrecord region --with-audio -bindd = CTRL ALT, PRINT, Screen record display, exec, omarchy-cmd-screenrecord output -bindd = CTRL ALT SHIFT, PRINT, Screen record display with audio, exec, omarchy-cmd-screenrecord output --with-audio +bindd = ALT, PRINT, Screen record menu, exec, omarchy-menu screenrecord # Color picker bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a From 154cd066eecfd6fb50f7e5a437dcb8c2f4a2bb3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Wn=C4=99trzak?= Date: Tue, 14 Oct 2025 11:37:57 +0200 Subject: [PATCH 121/209] Add auto nightlight example config (#2446) By commenting out this config one can have nightlight applied automatically --- config/hypr/hyprsunset.conf | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/config/hypr/hyprsunset.conf b/config/hypr/hyprsunset.conf index 78bba7d0..f51ff746 100644 --- a/config/hypr/hyprsunset.conf +++ b/config/hypr/hyprsunset.conf @@ -3,4 +3,10 @@ profile { time = 07:00 identity = true -} \ No newline at end of file +} + +# Enable auto switch to nightlight: +# profile { +# time = 20:00 +# temperature = 4000 +# } From 3b8fce1c2d01a7173e60367ed8a934183f3ca6ba Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 12:41:34 +0300 Subject: [PATCH 122/209] Consistent ordering with other themes --- ...lexoki-light-orb.png => 1-flexoki-light-orb.png} | Bin ...ight-omarchy.png => 2-flexoki-light-omarchy.png} | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename themes/flexoki-light/backgrounds/{flexoki-light-orb.png => 1-flexoki-light-orb.png} (100%) rename themes/flexoki-light/backgrounds/{flexoki-light-omarchy.png => 2-flexoki-light-omarchy.png} (100%) diff --git a/themes/flexoki-light/backgrounds/flexoki-light-orb.png b/themes/flexoki-light/backgrounds/1-flexoki-light-orb.png similarity index 100% rename from themes/flexoki-light/backgrounds/flexoki-light-orb.png rename to themes/flexoki-light/backgrounds/1-flexoki-light-orb.png diff --git a/themes/flexoki-light/backgrounds/flexoki-light-omarchy.png b/themes/flexoki-light/backgrounds/2-flexoki-light-omarchy.png similarity index 100% rename from themes/flexoki-light/backgrounds/flexoki-light-omarchy.png rename to themes/flexoki-light/backgrounds/2-flexoki-light-omarchy.png From 7c273f494439ac369a1916908ecfc67b9640c351 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Tue, 14 Oct 2025 12:37:45 -0400 Subject: [PATCH 123/209] Don't use chrootable here --- install/login/sddm.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/login/sddm.sh b/install/login/sddm.sh index 2fc19dae..0098387e 100644 --- a/install/login/sddm.sh +++ b/install/login/sddm.sh @@ -11,4 +11,5 @@ Current=breeze EOF fi -chrootable_systemctl_enable sddm.service +# Don't use chrootable here as --now will cause issues for manual installs +sudo systemctl enable sddm.service From ab3b65a2b119b9badce6318060965e51f686e53b Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Tue, 14 Oct 2025 12:56:31 -0400 Subject: [PATCH 124/209] Move to omarchy-nvim --- config/nvim/lazyvim.json | 10 --- config/nvim/lua/plugins/all-themes.lua | 61 ------------------- .../lua/plugins/omarchy-theme-hotreload.lua | 45 -------------- .../plugins/snacks-animated-scrolling-off.lua | 8 --- config/nvim/plugin/after/transparency.lua | 45 -------------- install/omarchy-base.packages | 2 +- migrations/1760434895.sh | 6 ++ 7 files changed, 7 insertions(+), 170 deletions(-) delete mode 100644 config/nvim/lazyvim.json delete mode 100644 config/nvim/lua/plugins/all-themes.lua delete mode 100644 config/nvim/lua/plugins/omarchy-theme-hotreload.lua delete mode 100644 config/nvim/lua/plugins/snacks-animated-scrolling-off.lua delete mode 100644 config/nvim/plugin/after/transparency.lua create mode 100644 migrations/1760434895.sh diff --git a/config/nvim/lazyvim.json b/config/nvim/lazyvim.json deleted file mode 100644 index 71fc8325..00000000 --- a/config/nvim/lazyvim.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extras": [ - "lazyvim.plugins.extras.editor.neo-tree" - ], - "install_version": 8, - "news": { - "NEWS.md": "10960" - }, - "version": 8 -} \ No newline at end of file diff --git a/config/nvim/lua/plugins/all-themes.lua b/config/nvim/lua/plugins/all-themes.lua deleted file mode 100644 index 4c38f98f..00000000 --- a/config/nvim/lua/plugins/all-themes.lua +++ /dev/null @@ -1,61 +0,0 @@ -return { - -- Load all theme plugins but don't apply them - -- This ensures all colorschemes are available for hot-reloading - { - "ribru17/bamboo.nvim", - lazy = true, - priority = 1000, - }, - { - "catppuccin/nvim", - name = "catppuccin", - lazy = true, - priority = 1000, - }, - { - "sainnhe/everforest", - lazy = true, - priority = 1000, - }, - { - "kepano/flexoki-neovim", - lazy = true, - priority = 1000, - }, - { - "ellisonleao/gruvbox.nvim", - lazy = true, - priority = 1000, - }, - { - "rebelot/kanagawa.nvim", - lazy = true, - priority = 1000, - }, - { - "tahayvr/matteblack.nvim", - lazy = true, - priority = 1000, - }, - { - "loctvl842/monokai-pro.nvim", - lazy = true, - priority = 1000, - }, - { - "shaunsingh/nord.nvim", - lazy = true, - priority = 1000, - }, - { - "rose-pine/neovim", - name = "rose-pine", - lazy = true, - priority = 1000, - }, - { - "folke/tokyonight.nvim", - lazy = true, - priority = 1000, - }, -} diff --git a/config/nvim/lua/plugins/omarchy-theme-hotreload.lua b/config/nvim/lua/plugins/omarchy-theme-hotreload.lua deleted file mode 100644 index 8d05a5b8..00000000 --- a/config/nvim/lua/plugins/omarchy-theme-hotreload.lua +++ /dev/null @@ -1,45 +0,0 @@ -return { - { - name = "theme-hotreload", - dir = vim.fn.stdpath("config"), - lazy = false, - priority = 1000, - config = function() - local transparency_file = vim.fn.stdpath("config") .. "/plugin/after/transparency.lua" - - vim.api.nvim_create_autocmd("User", { - pattern = "LazyReload", - callback = function() - package.loaded["plugins.theme"] = nil - - vim.schedule(function() - local ok, theme_spec = pcall(require, "plugins.theme") - if not ok then - return - end - - for _, spec in ipairs(theme_spec) do - if spec[1] == "LazyVim/LazyVim" and spec.opts and spec.opts.colorscheme then - local colorscheme = spec.opts.colorscheme - - require("lazy.core.loader").colorscheme(colorscheme) - - vim.defer_fn(function() - pcall(vim.cmd.colorscheme, colorscheme) - - if vim.fn.filereadable(transparency_file) == 1 then - vim.defer_fn(function() - vim.cmd.source(transparency_file) - end, 5) - end - end, 5) - - break - end - end - end) - end, - }) - end, - }, -} diff --git a/config/nvim/lua/plugins/snacks-animated-scrolling-off.lua b/config/nvim/lua/plugins/snacks-animated-scrolling-off.lua deleted file mode 100644 index cbb0a58e..00000000 --- a/config/nvim/lua/plugins/snacks-animated-scrolling-off.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - "folke/snacks.nvim", - opts = { - scroll = { - enabled = false, -- Disable scrolling animations - }, - }, -} diff --git a/config/nvim/plugin/after/transparency.lua b/config/nvim/plugin/after/transparency.lua deleted file mode 100644 index d0090f07..00000000 --- a/config/nvim/plugin/after/transparency.lua +++ /dev/null @@ -1,45 +0,0 @@ --- transparent background -vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) -vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) -vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none" }) -vim.api.nvim_set_hl(0, "Pmenu", { bg = "none" }) -vim.api.nvim_set_hl(0, "Terminal", { bg = "none" }) -vim.api.nvim_set_hl(0, "EndOfBuffer", { bg = "none" }) -vim.api.nvim_set_hl(0, "FoldColumn", { bg = "none" }) -vim.api.nvim_set_hl(0, "Folded", { bg = "none" }) -vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" }) -vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" }) -vim.api.nvim_set_hl(0, "WhichKeyFloat", { bg = "none" }) -vim.api.nvim_set_hl(0, "TelescopeBorder", { bg = "none" }) -vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = "none" }) -vim.api.nvim_set_hl(0, "TelescopePromptBorder", { bg = "none" }) -vim.api.nvim_set_hl(0, "TelescopePromptTitle", { bg = "none" }) - --- transparent background for neotree -vim.api.nvim_set_hl(0, "NeoTreeNormal", { bg = "none" }) -vim.api.nvim_set_hl(0, "NeoTreeNormalNC", { bg = "none" }) -vim.api.nvim_set_hl(0, "NeoTreeVertSplit", { bg = "none" }) -vim.api.nvim_set_hl(0, "NeoTreeWinSeparator", { bg = "none" }) -vim.api.nvim_set_hl(0, "NeoTreeEndOfBuffer", { bg = "none" }) - --- transparent background for nvim-tree -vim.api.nvim_set_hl(0, "NvimTreeNormal", { bg = "none" }) -vim.api.nvim_set_hl(0, "NvimTreeVertSplit", { bg = "none" }) -vim.api.nvim_set_hl(0, "NvimTreeEndOfBuffer", { bg = "none" }) - --- transparent notify background -vim.api.nvim_set_hl(0, "NotifyINFOBody", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyERRORBody", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyWARNBody", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyTRACEBody", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyDEBUGBody", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyINFOTitle", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyERRORTitle", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyWARNTitle", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyTRACETitle", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyDEBUGTitle", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyINFOBorder", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyERRORBorder", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyWARNBorder", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyTRACEBorder", { bg = "none" }) -vim.api.nvim_set_hl(0, "NotifyDEBUGBorder", { bg = "none" }) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 945c8231..70b43150 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -93,7 +93,7 @@ nvim obs-studio obsidian omarchy-chromium -omarchy-lazyvim +omarchy-nvim pamixer pinta playerctl diff --git a/migrations/1760434895.sh b/migrations/1760434895.sh new file mode 100644 index 00000000..e08649f4 --- /dev/null +++ b/migrations/1760434895.sh @@ -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 From 671194dfa940e367cae69071c37a372ddc19e78b Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Tue, 14 Oct 2025 13:16:36 -0400 Subject: [PATCH 125/209] Nvim is self-contained now --- install/config/theme.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/theme.sh b/install/config/theme.sh index a0a6a694..e88cc748 100644 --- a/install/config/theme.sh +++ b/install/config/theme.sh @@ -12,7 +12,7 @@ ln -snf ~/.config/omarchy/themes/tokyo-night ~/.config/omarchy/current/theme ln -snf ~/.config/omarchy/current/theme/backgrounds/1-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png ~/.config/omarchy/current/background # Set specific app links for current theme -ln -snf ~/.config/omarchy/current/theme/neovim.lua ~/.config/nvim/lua/plugins/theme.lua +# ~/.config/omarchy/current/theme/neovim.lua -> ~/.config/nvim/lua/plugins/theme.lua is handled via omarchy-setup-nvim mkdir -p ~/.config/btop/themes ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current.theme From fcae2e9809a83cafa5e267934ca9cea28a3686b8 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 22:26:03 +0300 Subject: [PATCH 126/209] Switch to new hotkeys Make room for unified super + c/v and put all app launches on super + shift + [letter] --- bin/omarchy-pkg-aur-install | 2 +- bin/omarchy-pkg-install | 2 +- bin/omarchy-pkg-remove | 2 +- config/alacritty/alacritty.toml | 1 - config/ghostty/config | 1 - config/hypr/bindings.conf | 40 ++++++------ config/hypr/hyprland.conf | 3 +- config/kitty/kitty.conf | 1 - default/hypr/bindings/clipboard.conf | 4 ++ default/hypr/bindings/tiling-v2.conf | 92 ++++++++++++++++++++++++++++ default/hypr/bindings/tiling.conf | 3 + default/hypr/bindings/utilities.conf | 5 -- 12 files changed, 124 insertions(+), 32 deletions(-) create mode 100644 default/hypr/bindings/clipboard.conf create mode 100644 default/hypr/bindings/tiling-v2.conf diff --git a/bin/omarchy-pkg-aur-install b/bin/omarchy-pkg-aur-install index 41710e0e..da0d5884 100755 --- a/bin/omarchy-pkg-aur-install +++ b/bin/omarchy-pkg-aur-install @@ -3,7 +3,7 @@ fzf_args=( --multi --preview 'yay -Siia {1}' - --preview-label='alt-p: toggle description, alt-b/B: toggle PKGBUILD, alt-j/k: scroll, tab: multi-select, F11: maximize' + --preview-label='alt-p: toggle description, alt-b/B: toggle PKGBUILD, alt-j/k: scroll, tab: multi-select' --preview-label-pos='bottom' --preview-window 'down:65%:wrap' --bind 'alt-p:toggle-preview' diff --git a/bin/omarchy-pkg-install b/bin/omarchy-pkg-install index c654e17e..49f7b33b 100755 --- a/bin/omarchy-pkg-install +++ b/bin/omarchy-pkg-install @@ -3,7 +3,7 @@ fzf_args=( --multi --preview 'pacman -Sii {1}' - --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize' + --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select' --preview-label-pos='bottom' --preview-window 'down:65%:wrap' --bind 'alt-p:toggle-preview' diff --git a/bin/omarchy-pkg-remove b/bin/omarchy-pkg-remove index 63c6147e..1da761f9 100755 --- a/bin/omarchy-pkg-remove +++ b/bin/omarchy-pkg-remove @@ -3,7 +3,7 @@ fzf_args=( --multi --preview 'yay -Qi {1}' - --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize' + --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select' --preview-label-pos='bottom' --preview-window 'down:65%:wrap' --bind 'alt-p:toggle-preview' diff --git a/config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml index f7a4df9a..ee1fb6fc 100644 --- a/config/alacritty/alacritty.toml +++ b/config/alacritty/alacritty.toml @@ -16,7 +16,6 @@ decorations = "None" [keyboard] bindings = [ -{ key = "F11", action = "ToggleFullscreen" }, { key = "Insert", mods = "Shift", action = "Paste" }, { key = "Insert", mods = "Control", action = "Copy" } ] diff --git a/config/ghostty/config b/config/ghostty/config index b4a85836..f714edb3 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -20,7 +20,6 @@ cursor-style-blink = false shell-integration-features = no-cursor # Keyboard bindings -keybind = f11=toggle_fullscreen keybind = shift+insert=paste_from_clipboard keybind = control+insert=copy_to_clipboard diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index cb114aba..ad897f91 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -2,28 +2,28 @@ $terminal = uwsm-app -- $TERMINAL $browser = omarchy-launch-browser -bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" -bindd = SUPER, F, File manager, exec, uwsm-app -- nautilus --new-window -bindd = SUPER, B, Browser, exec, $browser -bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private -bindd = SUPER, M, Music, exec, omarchy-launch-or-focus spotify -bindd = SUPER, N, Editor, exec, omarchy-launch-editor -bindd = SUPER, T, Activity, exec, $terminal -e btop -bindd = SUPER, D, Docker, exec, $terminal -e lazydocker -bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop" -bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" -bindd = SUPER, SLASH, Passwords, exec, uwsm-app -- 1password +bindd = SUPER SHIFT, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" +bindd = SUPER SHIFT, F, File manager, exec, uwsm app -- nautilus --new-window +bindd = SUPER SHIFT, B, Browser, exec, $browser +bindd = SUPER SHIFT ALT, B, Browser (private), exec, $browser --private +bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify +bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor +bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop +bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker +bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop" +bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" +bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm app -- 1password -# If your web app url contains #, type it as ## to prevent hyprland from treating it as a comment -bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" -bindd = SUPER SHIFT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" +# If your web app url contains #, type it as ## to prevent hyperland treat it as comments +bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" +bindd = SUPER SHIFT ALT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" -bindd = SUPER, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" -bindd = SUPER, Y, YouTube, exec, omarchy-launch-or-focus-webapp YouTube "https://youtube.com/" -bindd = SUPER SHIFT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/" -bindd = SUPER ALT, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations" -bindd = SUPER, X, X, exec, omarchy-launch-webapp "https://x.com/" -bindd = SUPER SHIFT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post" +bindd = SUPER SHIFT, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" +bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/" +bindd = SUPER SHIFT ALT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/" +bindd = SUPER SHIFT CTRL, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations" +bindd = SUPER SHIFT, X, X, exec, omarchy-launch-webapp "https://x.com/" +bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post" # Overwrite existing bindings, like putting Omarchy Menu on Super + Space # unbind = SUPER, SPACE diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index 3a91c979..f9c7221b 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -3,7 +3,8 @@ # Use defaults Omarchy defaults (but don't edit these directly!) source = ~/.local/share/omarchy/default/hypr/autostart.conf source = ~/.local/share/omarchy/default/hypr/bindings/media.conf -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 source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf source = ~/.local/share/omarchy/default/hypr/envs.conf source = ~/.local/share/omarchy/default/hypr/looknfeel.conf diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index 75be766a..feb09fd3 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -13,7 +13,6 @@ show_window_resize_notification no confirm_os_window_close 0 # Keybindings -map F11 toggle_fullscreen map ctrl+insert copy_to_clipboard # Allow remote access diff --git a/default/hypr/bindings/clipboard.conf b/default/hypr/bindings/clipboard.conf new file mode 100644 index 00000000..1b4e3ab7 --- /dev/null +++ b/default/hypr/bindings/clipboard.conf @@ -0,0 +1,4 @@ +# Copy / Paste +bind = SUPER, C, sendshortcut, CTRL, Insert, +bind = SUPER, V, sendshortcut, SHIFT, Insert, +bindd = SUPER CTRL, V, Clipboard, exec, omarchy-launch-walker -m clipboard diff --git a/default/hypr/bindings/tiling-v2.conf b/default/hypr/bindings/tiling-v2.conf new file mode 100644 index 00000000..47fd76bd --- /dev/null +++ b/default/hypr/bindings/tiling-v2.conf @@ -0,0 +1,92 @@ +# Close windows +bindd = SUPER, W, Close active window, killactive, +bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows + +# Control tiling +bindd = SUPER, J, Toggle split, togglesplit, # dwindle +bindd = SUPER, P, Pseudo window, pseudo, # dwindle +bindd = SUPER, T, Toggle floating, togglefloating, +bindd = SUPER, F, Force full screen, fullscreen, 0 +bindd = SUPER ALT, F, Full width, fullscreen, 1 + +# Move focus with SUPER + arrow keys +bindd = SUPER, LEFT, Move focus left, movefocus, l +bindd = SUPER, RIGHT, Move focus right, movefocus, r +bindd = SUPER, UP, Move focus up, movefocus, u +bindd = SUPER, DOWN, Move focus down, movefocus, d + +# Switch workspaces with SUPER + [0-9] +bindd = SUPER, code:10, Switch to workspace 1, workspace, 1 +bindd = SUPER, code:11, Switch to workspace 2, workspace, 2 +bindd = SUPER, code:12, Switch to workspace 3, workspace, 3 +bindd = SUPER, code:13, Switch to workspace 4, workspace, 4 +bindd = SUPER, code:14, Switch to workspace 5, workspace, 5 +bindd = SUPER, code:15, Switch to workspace 6, workspace, 6 +bindd = SUPER, code:16, Switch to workspace 7, workspace, 7 +bindd = SUPER, code:17, Switch to workspace 8, workspace, 8 +bindd = SUPER, code:18, Switch to workspace 9, workspace, 9 +bindd = SUPER, code:19, Switch to workspace 10, workspace, 10 + +# Move active window to a workspace with SUPER + SHIFT + [0-9] +bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1 +bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2 +bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3 +bindd = SUPER SHIFT, code:13, Move window to workspace 4, movetoworkspace, 4 +bindd = SUPER SHIFT, code:14, Move window to workspace 5, movetoworkspace, 5 +bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6 +bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7 +bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8 +bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9 +bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10 + +# TAB between workspaces +bindd = SUPER, TAB, Next workspace, workspace, e+1 +bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1 +bindd = SUPER CTRL, TAB, Former workspace, workspace, previous + +# Swap active window with the one next to it with SUPER + SHIFT + arrow keys +bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l +bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r +bindd = SUPER SHIFT, UP, Swap window up, swapwindow, u +bindd = SUPER SHIFT, DOWN, Swap window down, swapwindow, d + +# Cycle through applications on active workspace +bindd = ALT, TAB, Cycle to next window, cyclenext +bindd = ALT SHIFT, TAB, Cycle to prev window, cyclenext, prev +bindd = ALT, TAB, Reveal active window on top, bringactivetotop +bindd = ALT SHIFT, TAB, Reveal active window on top, bringactivetotop + +# Resize active window +bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 # - key +bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 # = key +bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100 +bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100 + +# Scroll through existing workspaces with SUPER + scroll +bindd = SUPER, MOUSE_DOWN, Scroll active workspace forward, workspace, e+1 +bindd = SUPER, MOUSE_UP, Scroll active workspace backward, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindmd = SUPER, mouse:272, Move window, movewindow +bindmd = SUPER, mouse:273, Resize window, resizewindow + +# Toggle groups +bindd = SUPER ALT, RETURN, Toggle window grouping, togglegroup +bindd = SUPER ALT, BACKSPACE, Move active window out of group, moveoutofgroup + +# Join groups +bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l +bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r +bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u +bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d + +# Navigate a single set of grouped windows +bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f +bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b + +# Activate window in a group by number +bindd = SUPER ALT, 1, Switch to group window 1, changegroupactive, 1 +bindd = SUPER ALT, 2, Switch to group window 2, changegroupactive, 2 +bindd = SUPER ALT, 3, Switch to group window 3, changegroupactive, 3 +bindd = SUPER ALT, 4, Switch to group window 4, changegroupactive, 4 +bindd = SUPER ALT, 5, Switch to group window 5, changegroupactive, 5 diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index efbc1c73..8630a059 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -1,3 +1,6 @@ +# This is now a deprecated file meant for those who did not wish to learn the latest Omarchy hotkeys. +# Do not make changes here, but bring them to tiling-v2.conf instead. + # Close windows bindd = SUPER, W, Close active window, killactive, bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 67c99e61..01577fab 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -1,7 +1,6 @@ # Menus bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols -bindd = SUPER CTRL, V, Clipboard, exec, omarchy-launch-walker -m clipboard bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system @@ -43,7 +42,3 @@ bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a # File sharing bindd = CTRL SUPER, S, Share, exec, omarchy-menu share - -# Copy / Paste -bind = SUPER, C, sendshortcut, CTRL, Insert, -bind = SUPER, V, sendshortcut, SHIFT, Insert, From 3d335a5278d1fb8085fe84114dc3c1b38745d009 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 22:26:54 +0300 Subject: [PATCH 127/209] Add migration for new hotkeys --- migrations/1760462260.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 migrations/1760462260.sh diff --git a/migrations/1760462260.sh b/migrations/1760462260.sh new file mode 100644 index 00000000..71900ab6 --- /dev/null +++ b/migrations/1760462260.sh @@ -0,0 +1,20 @@ +echo -e "Offer new Omarchy hotkeys\n" + +cat < Date: Tue, 14 Oct 2025 14:41:26 -0500 Subject: [PATCH 128/209] Fix UFW autostart issue (#2453) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Improve theme-set-vscode to support jsonc and respect symlinks (#1756) * Ghostty needs a very different scrollfactor than Alacritty and Kitty cc @mitchellh * Hide hyperland cursor while typing (#1812) * Fix Matte Black theme ghostty and vscode configs (#1801) * Update Matte Black ghostty.conf with more color settings * Rename theme from 'MatteBlack' to 'Matte Black' * Catch obsidian vault dialog too * Add Update > Hardware > Audio for restarting pipewire service * Give output on what's intended to happen * Ensure libyaml is available for installs made before that was on the ISO * Limit pattern to prevent incorrect matches * fix: ghostty config typos * No longer used Closes #1815 * Revert "Ensure libyaml is available for installs made before that was on the ISO" This reverts commit ad01082a866f1c4bb526eb810fb8f7fa8f9abaad. * Add Helium browser to supported browsers list in omarchy-launch-webapp * Fix Helium browser detection in launch script * feat: Added MacBook10,1 to the fix-apple-spi-keyboard.sh * Suggest how to have a smaller-than-max-width single window aspect ratio * Add more Mac models to SPI keyboard support Added: MacBook 8,1 MacBook 9,1 MacBook 8,1 uses slightly different moduels from what I can tell, so I’ve added a case statment. Please tweak as needed. * Fix conflict + rearrange * Added fix for ealy 2013 macbook pro's using an older chipset, BCM4331 * Tried with a different approach for cleaner code * Clean up Tested the logic on the MacBook. It worked and the install of the drivers are reenabled. * Combine ifs * Update install script name * Fix for '(null)' display on AirPod source selection * Use output display or region geometry to record The previous code did not identify the output display correctly, leading to wf-recorder asking the user to select the region when the user requested the display output to be selected. With this change the bash script will use slurp with the -o flag to identify the display output. This has not been tested with wl-screenrec as no change has been made to its call signature in omarchy-cmd-screenrecord and the wl-screenrec binary is not included in the default omarchy installation. * Fix TUI install script - $TERMINAL should remain variable * Add migration to fix Docker and Disk Usage TUIs * Replace "--class" with "--class=" * Revert "Fix for '(null)' display on AirPod source selection" * Typo * Fix comment * Change up firewall setup * Enable ufw * Disable ufw-docker (isolation test) * Add some reboot on done debugging * Debug firewall install/config * Add first-run logging * Don't suppress output from apparently-failing systemctl reboot command * Fix logging * Use old reboot. Still chrooted so probably won't work. * Allow systemctl on first run * Revert logging and other changes --------- Co-authored-by: Omar Skalli Co-authored-by: David Heinemeier Hansson Co-authored-by: Johan Sørensen Co-authored-by: Taha Co-authored-by: Ryan Hughes Co-authored-by: Che-Wei Lin Co-authored-by: Patrick Byrne Co-authored-by: Eduardo Mínguez Co-authored-by: Joel Gaff, Jr Co-authored-by: Michael Larsen Co-authored-by: Shawn Yeager Co-authored-by: observable Co-authored-by: Djordje Kovacevic --- install/preflight/first-run-mode.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/preflight/first-run-mode.sh b/install/preflight/first-run-mode.sh index c09f8439..536058cc 100644 --- a/install/preflight/first-run-mode.sh +++ b/install/preflight/first-run-mode.sh @@ -6,6 +6,7 @@ touch ~/.local/state/omarchy/first-run.mode sudo tee /etc/sudoers.d/first-run >/dev/null < Date: Tue, 14 Oct 2025 21:42:51 +0200 Subject: [PATCH 129/209] Update application icons (#2450) * Update icons * Optimize images --- applications/icons/ChatGPT.png | Bin 34707 -> 12829 bytes applications/icons/GitHub.png | Bin 17188 -> 8571 bytes applications/icons/X.png | Bin 26707 -> 9649 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/applications/icons/ChatGPT.png b/applications/icons/ChatGPT.png index cc68d786341a54397f833e1a7e5595d2bad8c35d..9907eaf826424796733a955e65cac33a045e69d2 100644 GIT binary patch literal 12829 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 literal 17188 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 diff --git a/applications/icons/X.png b/applications/icons/X.png index 99131def947aedfccf09a7e0132b4b0aea9453ee..22fe6987a73a263a22dc214b9d40a1d6350a8cf9 100644 GIT binary patch literal 9649 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 literal 26707 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]v+e4nRo~;d_({?HiZLMnhouj$`X8 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 From fd9a6f48b303724631161a20e95e0daad35fccaf Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 22:43:17 +0300 Subject: [PATCH 130/209] Can't add this if we are using SUPER + G --- default/hypr/bindings/tiling.conf | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index 8630a059..f0c0190b 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -72,24 +72,3 @@ bindd = SUPER, MOUSE_UP, Scroll active workspace backward, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindmd = SUPER, mouse:272, Move window, movewindow bindmd = SUPER, mouse:273, Resize window, resizewindow - -# Toggle groups -bindd = SUPER ALT, RETURN, Toggle window grouping, togglegroup -bindd = SUPER ALT, BACKSPACE, Move active window out of group, moveoutofgroup - -# Join groups -bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l -bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r -bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u -bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d - -# Navigate a single set of grouped windows -bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f -bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b - -# Activate window in a group by number -bindd = SUPER ALT, 1, Switch to group window 1, changegroupactive, 1 -bindd = SUPER ALT, 2, Switch to group window 2, changegroupactive, 2 -bindd = SUPER ALT, 3, Switch to group window 3, changegroupactive, 3 -bindd = SUPER ALT, 4, Switch to group window 4, changegroupactive, 4 -bindd = SUPER ALT, 5, Switch to group window 5, changegroupactive, 5 From e4d24ca6375c60719916c86c211629010b94a8fb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 22:43:27 +0300 Subject: [PATCH 131/209] Use SUPER + G for grouping --- default/hypr/bindings/tiling-v2.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/default/hypr/bindings/tiling-v2.conf b/default/hypr/bindings/tiling-v2.conf index 47fd76bd..85f60216 100644 --- a/default/hypr/bindings/tiling-v2.conf +++ b/default/hypr/bindings/tiling-v2.conf @@ -71,8 +71,8 @@ bindmd = SUPER, mouse:272, Move window, movewindow bindmd = SUPER, mouse:273, Resize window, resizewindow # Toggle groups -bindd = SUPER ALT, RETURN, Toggle window grouping, togglegroup -bindd = SUPER ALT, BACKSPACE, Move active window out of group, moveoutofgroup +bindd = SUPER, G, Toggle window grouping, togglegroup +bindd = SUPER ALT, G, Move active window out of group, moveoutofgroup # Join groups bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l From bb943ae24f58b2d470aafeca9808dc85c7542ebd Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Tue, 14 Oct 2025 16:03:16 -0400 Subject: [PATCH 132/209] Update restart to prevent dbus error --- bin/omarchy-restart-walker | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-restart-walker b/bin/omarchy-restart-walker index c56be47f..7b09d351 100755 --- a/bin/omarchy-restart-walker +++ b/bin/omarchy-restart-walker @@ -1,6 +1,21 @@ #!/bin/bash pkill elephant -setsid uwsm app -- elephant & pkill walker -setsid uwsm app -- walker --gapplication-service & \ No newline at end of file + +# Detect if we're running as root (from pacman hook) +if [[ $EUID -eq 0 ]]; then + # Get the owner of this script to determine which user to run as + SCRIPT_OWNER=$(stat -c '%U' "$0") + USER_UID=$(id -u "$SCRIPT_OWNER") + + # Restart services as the script owner + systemd-run --uid="$SCRIPT_OWNER" --setenv=XDG_RUNTIME_DIR="/run/user/$USER_UID" \ + bash -c " + setsid uwsm app -- elephant & + setsid uwsm app -- walker --gapplication-service & + " +else + setsid uwsm app -- elephant & + setsid uwsm app -- walker --gapplication-service & +fi From d625178a9be13b958d843d823edbeea05f88eecc Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Tue, 14 Oct 2025 16:09:29 -0400 Subject: [PATCH 133/209] Remove test garbage --- default/walker/themes/omarchy-default/style.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/default/walker/themes/omarchy-default/style.css b/default/walker/themes/omarchy-default/style.css index 8cbe16c1..d380c884 100644 --- a/default/walker/themes/omarchy-default/style.css +++ b/default/walker/themes/omarchy-default/style.css @@ -103,10 +103,6 @@ child:selected .item-box * { -gtk-icon-transform: scale(0.9); } -.item-box.calc .item-image { - -gtk-icon-source: url("file:///home/ryan/Downloads/gitlab.svg"); -} - .current { font-style: italic; } From bd52f8ae52840f2d166c24cade341ed579243021 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Tue, 14 Oct 2025 21:54:56 -0400 Subject: [PATCH 134/209] Fix some missing bindings --- migrations/1760462260.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/migrations/1760462260.sh b/migrations/1760462260.sh index 71900ab6..c59e864e 100644 --- a/migrations/1760462260.sh +++ b/migrations/1760462260.sh @@ -11,9 +11,11 @@ EOF echo if gum confirm "Switch to new hotkeys?"; then + 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 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 From 1eecf0b8e7a0c5613443e94d0d39337e2b271ab0 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 14 Oct 2025 22:45:33 +0300 Subject: [PATCH 135/209] Copy over updated app icons that work with light mode --- migrations/1760471009.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 migrations/1760471009.sh diff --git a/migrations/1760471009.sh b/migrations/1760471009.sh new file mode 100644 index 00000000..f2418846 --- /dev/null +++ b/migrations/1760471009.sh @@ -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/ From de1e47d2f7db5644c11ff4718a029ccb5e614e42 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 13:33:42 +0300 Subject: [PATCH 136/209] New version --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 1fe43e4f..b7c8ac4c 100644 --- a/version +++ b/version @@ -1 +1 @@ -3.0.0-RC +3.1.0-RC From 2d788dec2185af13f4a7374b3d382fe498bfed79 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 13:42:26 +0300 Subject: [PATCH 137/209] wl-clip-hist is buggy and feels like its a cure worse than the disease --- default/hypr/autostart.conf | 1 - install/omarchy-base.packages | 1 - 2 files changed, 2 deletions(-) diff --git a/default/hypr/autostart.conf b/default/hypr/autostart.conf index e22c49bd..706f719c 100644 --- a/default/hypr/autostart.conf +++ b/default/hypr/autostart.conf @@ -5,7 +5,6 @@ exec-once = uwsm app -- fcitx5 exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill exec-once = uwsm app -- swayosd-server exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+' exec-once = omarchy-cmd-first-run exec-once = uwsm app -- elephant exec-once = uwsm app -- walker --gapplication-service diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 70b43150..06fbf47f 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -134,7 +134,6 @@ whois wireless-regdb wiremix wireplumber -wl-clip-persist wl-clipboard woff2-font-awesome xdg-desktop-portal-gtk From d06708d56e92929ef4652d164ffa28c08bd52a9d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 13:48:16 +0300 Subject: [PATCH 138/209] No longer needed --- migrations/1758081785.sh | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 migrations/1758081785.sh diff --git a/migrations/1758081785.sh b/migrations/1758081785.sh deleted file mode 100644 index 40e062a9..00000000 --- a/migrations/1758081785.sh +++ /dev/null @@ -1,4 +0,0 @@ -echo "Add live themeing to neovim" - -cp -f $OMARCHY_PATH/config/nvim/lua/plugins/all-themes.lua ~/.config/nvim/lua/plugins/ -cp -f $OMARCHY_PATH/config/nvim/lua/plugins/omarchy-theme-hotreload.lua ~/.config/nvim/lua/plugins/ From 1a4d1d675c27e290b2f4e5c8f6b26a5e5fd73d85 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 13:51:41 +0300 Subject: [PATCH 139/209] Ensure all packages are up to date Needed for versions prior to when we do this before applying migrations --- migrations/1751134562.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 migrations/1751134562.sh diff --git a/migrations/1751134562.sh b/migrations/1751134562.sh new file mode 100644 index 00000000..f1752eca --- /dev/null +++ b/migrations/1751134562.sh @@ -0,0 +1,3 @@ +echo "Ensure all indexes and packages are up to date" + +sudo pacman -Syu --noconfirm From d3048b56bde9ab980574eec49db332e5cc81b197 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 15 Oct 2025 10:35:11 -0400 Subject: [PATCH 140/209] Consolidate migrations for wl-screenrec + wf-recorder --- migrations/1752885858.sh | 3 --- migrations/1753176520.sh | 3 --- migrations/1755548643.sh | 3 --- migrations/1756060611.sh | 1 - migrations/1760144906.sh | 4 +++- 5 files changed, 3 insertions(+), 11 deletions(-) delete mode 100644 migrations/1752885858.sh delete mode 100644 migrations/1753176520.sh delete mode 100644 migrations/1755548643.sh diff --git a/migrations/1752885858.sh b/migrations/1752885858.sh deleted file mode 100644 index 2d2b25ac..00000000 --- a/migrations/1752885858.sh +++ /dev/null @@ -1,3 +0,0 @@ -echo "Install slurp + wl-screenrec for new ALT+PrintScreen screen recorder" - -omarchy-pkg-add slurp wl-screenrec diff --git a/migrations/1753176520.sh b/migrations/1753176520.sh deleted file mode 100644 index 186b8a76..00000000 --- a/migrations/1753176520.sh +++ /dev/null @@ -1,3 +0,0 @@ -echo "Install wf-recorder for screen recording for nvidia" - -omarchy-pkg-add wf-recorder diff --git a/migrations/1755548643.sh b/migrations/1755548643.sh deleted file mode 100644 index f98b730b..00000000 --- a/migrations/1755548643.sh +++ /dev/null @@ -1,3 +0,0 @@ -echo "Install wf-recorder for intel based device" - -omarchy-pkg-add wf-recorder diff --git a/migrations/1756060611.sh b/migrations/1756060611.sh index b1bc95da..67d819b6 100644 --- a/migrations/1756060611.sh +++ b/migrations/1756060611.sh @@ -14,7 +14,6 @@ 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 diff --git a/migrations/1760144906.sh b/migrations/1760144906.sh index 00e3a047..4745b187 100644 --- a/migrations/1760144906.sh +++ b/migrations/1760144906.sh @@ -1,3 +1,5 @@ echo "Change omarchy-screenrecord to use gpu-screen-recorder" omarchy-pkg-drop wf-recorder wl-screenrec -omarchy-pkg-add gpu-screen-recorder + +# Add slurp in case it hadn't been picked up from an old migration +omarchy-pkg-add slurp gpu-screen-recorder From 385f846fff5b5c832154586a12cf253964d38205 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 15 Oct 2025 10:47:25 -0400 Subject: [PATCH 141/209] Re-add ristretto color fixes --- themes/ristretto/neovim.lua | 41 ++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/themes/ristretto/neovim.lua b/themes/ristretto/neovim.lua index d862d161..4263da70 100644 --- a/themes/ristretto/neovim.lua +++ b/themes/ristretto/neovim.lua @@ -1,14 +1,31 @@ return { - { - "loctvl842/monokai-pro.nvim", - opts = { - filter = "ristretto", - }, - }, - { - "LazyVim/LazyVim", - opts = { - colorscheme = "monokai-pro", - }, - }, + { + "gthelding/monokai-pro.nvim", + config = function() + require("monokai-pro").setup({ + filter = "ristretto", + override = function() + return { + NonText = { fg = "#948a8b" }, + MiniIconsGrey = { fg = "#948a8b" }, + MiniIconsRed = { fg = "#fd6883" }, + MiniIconsBlue = { fg = "#85dacc" }, + MiniIconsGreen = { fg = "#adda78" }, + MiniIconsYellow = { fg = "#f9cc6c" }, + MiniIconsOrange = { fg = "#f38d70" }, + MiniIconsPurple = { fg = "#a8a9eb" }, + MiniIconsAzure = { fg = "#a8a9eb" }, + MiniIconsCyan = { fg = "#85dacc" }, -- same value as MiniIconsBlue for consistency + } + end, + }) + vim.cmd([[colorscheme monokai-pro]]) + end, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "monokai-pro", + }, + }, } From 06668cf20fc85c29b7460f5906161cac00a6663a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 17:48:15 +0300 Subject: [PATCH 142/209] Reveal main keybindings on welcome --- install/first-run/welcome.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/first-run/welcome.sh b/install/first-run/welcome.sh index 3b846610..18d73a06 100644 --- a/install/first-run/welcome.sh +++ b/install/first-run/welcome.sh @@ -1,2 +1,2 @@ notify-send " Update System" "When you have internet, click to update the system." -u critical -notify-send "👋 Welcome to Omarchy" "You're in for a great computing adventure. Have fun!" -t 30000 +notify-send "👋 Welcome to Omarchy" "Super + K to see keybindings.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -t 30000 From a67391b3ea03102e6bdb3d25fb9aa0dc18dc8dc5 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 15 Oct 2025 10:53:29 -0400 Subject: [PATCH 143/209] Clarify Broadcom chip support comments --- install/config/hardware/fix-bcm43xx.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install/config/hardware/fix-bcm43xx.sh b/install/config/hardware/fix-bcm43xx.sh index d6eebd86..5078f69e 100644 --- a/install/config/hardware/fix-bcm43xx.sh +++ b/install/config/hardware/fix-bcm43xx.sh @@ -1,6 +1,6 @@ -# Install Wi-Fi drivers for Broadcom chips: -# - BCM4360 (2013–2015) -# - BCM4331 (2012, early 2013) +# Install Wi-Fi drivers for Broadcom chips found in some MacBooks, as well as other systems: +# - BCM4360 (2013–2015 MacBooks) +# - BCM4331 (2012, early 2013 MacBooks) pci_info=$(lspci -nnv) From 351d8ac93850181c3d18c1c062dc84946d637f88 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 18:22:01 +0300 Subject: [PATCH 144/209] Update packages as the very first thing --- migrations/{1751134561.sh => 1751134559.sh} | 7 ++++--- migrations/1751134562.sh | 3 --- 2 files changed, 4 insertions(+), 6 deletions(-) rename migrations/{1751134561.sh => 1751134559.sh} (58%) delete mode 100644 migrations/1751134562.sh diff --git a/migrations/1751134561.sh b/migrations/1751134559.sh similarity index 58% rename from migrations/1751134561.sh rename to migrations/1751134559.sh index 46a7ebf2..7ff5ca5d 100644 --- a/migrations/1751134561.sh +++ b/migrations/1751134559.sh @@ -1,9 +1,10 @@ echo "Add Omarchy Package Repository" -omarchy-refresh-pacman-mirrorlist +sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/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 + +sudo systemctl restart systemd-timesyncd +sudo pacman -Syu --noconfirm diff --git a/migrations/1751134562.sh b/migrations/1751134562.sh deleted file mode 100644 index f1752eca..00000000 --- a/migrations/1751134562.sh +++ /dev/null @@ -1,3 +0,0 @@ -echo "Ensure all indexes and packages are up to date" - -sudo pacman -Syu --noconfirm From c0dc0a0e472c3de54d5aa8d59d0f86aa27fba1bb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 18:25:05 +0300 Subject: [PATCH 145/209] Revert "Update packages as the very first thing" This reverts commit 351d8ac93850181c3d18c1c062dc84946d637f88. --- migrations/{1751134559.sh => 1751134561.sh} | 7 +++---- migrations/1751134562.sh | 3 +++ 2 files changed, 6 insertions(+), 4 deletions(-) rename migrations/{1751134559.sh => 1751134561.sh} (58%) create mode 100644 migrations/1751134562.sh diff --git a/migrations/1751134559.sh b/migrations/1751134561.sh similarity index 58% rename from migrations/1751134559.sh rename to migrations/1751134561.sh index 7ff5ca5d..46a7ebf2 100644 --- a/migrations/1751134559.sh +++ b/migrations/1751134561.sh @@ -1,10 +1,9 @@ echo "Add Omarchy Package Repository" -sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist +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 - -sudo systemctl restart systemd-timesyncd -sudo pacman -Syu --noconfirm diff --git a/migrations/1751134562.sh b/migrations/1751134562.sh new file mode 100644 index 00000000..f1752eca --- /dev/null +++ b/migrations/1751134562.sh @@ -0,0 +1,3 @@ +echo "Ensure all indexes and packages are up to date" + +sudo pacman -Syu --noconfirm From e080f62de0900e1ea5c68169b2db14555ff0234e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 18:28:28 +0300 Subject: [PATCH 146/209] Simplify the initial setup to just the PATH --- migrations/1751134560.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/migrations/1751134560.sh b/migrations/1751134560.sh index d34a2b60..cddf7ddc 100644 --- a/migrations/1751134560.sh +++ b/migrations/1751134560.sh @@ -4,7 +4,10 @@ export OMARCHY_PATH="$HOME/.local/share/omarchy" export PATH="$OMARCHY_PATH/bin:$PATH" mkdir -p "$HOME/.config/uwsm/" -omarchy-refresh-config uwsm/env +cat < Update again after the quick relaunch is complete.\e[0m" echo From ac0ffa42dde750c7ca6b477891868499690ef822 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 18:36:57 +0300 Subject: [PATCH 147/209] Kick off the new migration from within itself --- migrations/1751134560.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/migrations/1751134560.sh b/migrations/1751134560.sh index cddf7ddc..129e3846 100644 --- a/migrations/1751134560.sh +++ b/migrations/1751134560.sh @@ -9,10 +9,7 @@ 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 - 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 + +bash omarchy-update-perform From 44231e43b78b53364d4b7195e6a1b3ec887ca1a3 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 18:55:09 +0300 Subject: [PATCH 148/209] Ensure clock is up to date --- migrations/1751134560.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/migrations/1751134560.sh b/migrations/1751134560.sh index 129e3846..f4267951 100644 --- a/migrations/1751134560.sh +++ b/migrations/1751134560.sh @@ -12,4 +12,5 @@ EOF mkdir -p ~/.local/state/omarchy/migrations touch ~/.local/state/omarchy/migrations/1751134560.sh +sudo systemctl restart systemd-timesyncd bash omarchy-update-perform From 6247712205268306763633dd2a95ef120f3c6339 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 19:09:08 +0300 Subject: [PATCH 149/209] Keep terminal on SUPER + RETURN --- config/hypr/bindings.conf | 2 +- migrations/1760462260.sh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index ad897f91..ba7343e3 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -2,7 +2,7 @@ $terminal = uwsm-app -- $TERMINAL $browser = omarchy-launch-browser -bindd = SUPER SHIFT, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" +bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" bindd = SUPER SHIFT, F, File manager, exec, uwsm app -- nautilus --new-window bindd = SUPER SHIFT, B, Browser, exec, $browser bindd = SUPER SHIFT ALT, B, Browser (private), exec, $browser --private diff --git a/migrations/1760462260.sh b/migrations/1760462260.sh index c59e864e..c1a9a1e0 100644 --- a/migrations/1760462260.sh +++ b/migrations/1760462260.sh @@ -4,6 +4,7 @@ cat < Date: Wed, 15 Oct 2025 19:11:26 +0300 Subject: [PATCH 150/209] Drop localsend-bin if it was already there --- migrations/1751672984.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/migrations/1751672984.sh b/migrations/1751672984.sh index b2d9ecb0..f48834bb 100644 --- a/migrations/1751672984.sh +++ b/migrations/1751672984.sh @@ -1,3 +1,4 @@ echo "Add LocalSend as new default application" +omarchy-pkg-drop localsend-bin omarchy-pkg-add localsend From f0bba6c6e8e579fb79f00df3e0f115eda97f1d29 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 19:21:43 +0300 Subject: [PATCH 151/209] Fix the terminal fixer --- migrations/1760462260.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrations/1760462260.sh b/migrations/1760462260.sh index c1a9a1e0..b604169b 100644 --- a/migrations/1760462260.sh +++ b/migrations/1760462260.sh @@ -14,7 +14,7 @@ echo if gum confirm "Switch to new hotkeys?"; then 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/SUPER, RETURN/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 From fecf83d07b81f0a96106d32d017ebec324dc5d86 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 15 Oct 2025 22:04:06 +0300 Subject: [PATCH 152/209] Hookup keybindings notification to actual keybindings menu --- default/mako/core.ini | 3 +++ install/first-run/welcome.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/default/mako/core.ini b/default/mako/core.ini index d67747de..927d8d40 100644 --- a/default/mako/core.ini +++ b/default/mako/core.ini @@ -24,3 +24,6 @@ on-button-left=exec sh -c 'omarchy-notification-dismiss "Setup Wi-Fi"; omarchy-l [summary~="Update System"] on-button-left=exec sh -c 'omarchy-notification-dismiss "Update System"; omarchy-launch-floating-terminal-with-presentation omarchy-update' + +[summary~="Learn Keybindings"] +on-button-left=exec sh -c 'omarchy-notification-dismiss "Learn Keybindings"; omarchy-menu-keybindings' diff --git a/install/first-run/welcome.sh b/install/first-run/welcome.sh index 18d73a06..2da4be2e 100644 --- a/install/first-run/welcome.sh +++ b/install/first-run/welcome.sh @@ -1,2 +1,2 @@ notify-send " Update System" "When you have internet, click to update the system." -u critical -notify-send "👋 Welcome to Omarchy" "Super + K to see keybindings.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -t 30000 +notify-send " Learn Keybindings" "Super + K for cheatsheet.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -u critical From dff61f07488de4c0bdd19be618c7dbe8c712f463 Mon Sep 17 00:00:00 2001 From: Johannes Normann Jensen Date: Thu, 16 Oct 2025 09:24:21 +0200 Subject: [PATCH 153/209] feat: add mssql-server to omarchy-install-docker-dbs (#2474) --- bin/omarchy-install-docker-dbs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-install-docker-dbs b/bin/omarchy-install-docker-dbs index 112af1e2..658a2b08 100755 --- a/bin/omarchy-install-docker-dbs +++ b/bin/omarchy-install-docker-dbs @@ -1,6 +1,6 @@ #!/bin/bash -options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB") +options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB" "MSSQL") if [[ "$#" -eq 0 ]]; then choices=$(printf "%s\n" "${options[@]}" | gum choose --header "Select database (return to install, esc to cancel)") || main_menu @@ -16,6 +16,7 @@ if [[ -n "$choices" ]]; then MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;; Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;; MongoDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:27017:27017" --name mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin123 mongo:noble ;; + MSSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:1433:1433" --name mssql -e MSSQL_PID=Developer -e ACCEPT_EULA=Y -e "MSSQL_SA_PASSWORD=@dmin123" mcr.microsoft.com/mssql/server:2022-CU12-ubuntu-22.04 ;; esac done else From 9c145b91d7815094b0b67b649f534c031b0ac68d Mon Sep 17 00:00:00 2001 From: Carl-Johan Landin <40301341+carljohanlandin@users.noreply.github.com> Date: Thu, 16 Oct 2025 12:44:09 +0200 Subject: [PATCH 154/209] Fix typo in everforest theme ghostty.conf (#2471) Co-authored-by: Carl-Johan Landin --- themes/everforest/ghostty.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/everforest/ghostty.conf b/themes/everforest/ghostty.conf index c3b0aadb..69dd0ed4 100644 --- a/themes/everforest/ghostty.conf +++ b/themes/everforest/ghostty.conf @@ -1 +1 @@ -theme = Everforest Dark Hard +theme = Everforest Dark Hard From 8bc0980bc53b4c1a7b2b86b3e67fd198fc026fa9 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 16 Oct 2025 13:47:20 +0300 Subject: [PATCH 155/209] Always reload every terminal So you can use it even if you mix and match --- bin/omarchy-theme-set-terminal | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/bin/omarchy-theme-set-terminal b/bin/omarchy-theme-set-terminal index 8a6bdbdd..9e2f7ad0 100755 --- a/bin/omarchy-theme-set-terminal +++ b/bin/omarchy-theme-set-terminal @@ -1,7 +1,8 @@ #!/bin/bash -case "$TERMINAL" in -"alacritty") touch ~/.config/alacritty/alacritty.toml ;; -"kitty") killall -SIGUSR1 kitty ;; -"ghostty") killall -SIGUSR2 ghostty ;; -esac +if [[ -f ~/.config/alacritty/alacritty.toml ]]; then + touch ~/.config/alacritty/alacritty.toml +fi + +killall -SIGUSR1 kitty +killall -SIGUSR2 ghostty From 94aac3777c71c12103a4690f2ef2bf9fbbb9ab84 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 16 Oct 2025 13:52:36 +0300 Subject: [PATCH 156/209] Expose screenrecording with webcam --- bin/omarchy-menu | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 6da050e3..67674918 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -113,10 +113,11 @@ show_screenshot_menu() { } show_screenrecord_menu() { - case $(menu "Screenrecord" " Region\n Region + Audio\n Display\n Display + Audio") in + case $(menu "Screenrecord" " Region\n Region + Audio\n Display\n Display + Audio\n Display + Webcam") in *"Region + Audio"*) omarchy-cmd-screenrecord region --with-audio ;; *Region*) omarchy-cmd-screenrecord ;; *"Display + Audio"*) omarchy-cmd-screenrecord output --with-audio ;; + *"Display + Webcam"*) omarchy-cmd-screenrecord output --with-audio --with-webcam ;; *Display*) omarchy-cmd-screenrecord output ;; *) back_to show_capture_menu ;; esac From 6b1b73b87c98e9b96dd456db74fcc58062c6db7f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 16 Oct 2025 13:59:08 +0300 Subject: [PATCH 157/209] Use uwsm-app instead of uwsm app consistently --- bin/omarchy-launch-walker | 2 +- bin/omarchy-restart-walker | 8 ++++---- config/hypr/bindings.conf | 6 +++--- default/hypr/autostart.conf | 16 ++++++++-------- migrations/1753138691.sh | 2 +- migrations/1753224615.sh | 2 +- migrations/1757877852.sh | 4 ++-- migrations/1758019332.sh | 2 +- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/bin/omarchy-launch-walker b/bin/omarchy-launch-walker index 4de48be4..e52f48d3 100755 --- a/bin/omarchy-launch-walker +++ b/bin/omarchy-launch-walker @@ -2,7 +2,7 @@ # Ensure elephant is running before launching walker if ! pgrep -x elephant > /dev/null; then - setsid uwsm app -- elephant & + setsid uwsm-app -- elephant & fi exec walker "$@" diff --git a/bin/omarchy-restart-walker b/bin/omarchy-restart-walker index 7b09d351..4abcb88e 100755 --- a/bin/omarchy-restart-walker +++ b/bin/omarchy-restart-walker @@ -12,10 +12,10 @@ if [[ $EUID -eq 0 ]]; then # Restart services as the script owner systemd-run --uid="$SCRIPT_OWNER" --setenv=XDG_RUNTIME_DIR="/run/user/$USER_UID" \ bash -c " - setsid uwsm app -- elephant & - setsid uwsm app -- walker --gapplication-service & + setsid uwsm-app -- elephant & + setsid uwsm-app -- walker --gapplication-service & " else - setsid uwsm app -- elephant & - setsid uwsm app -- walker --gapplication-service & + setsid uwsm-app -- elephant & + setsid uwsm-app -- walker --gapplication-service & fi diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index ba7343e3..954929ed 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -3,16 +3,16 @@ $terminal = uwsm-app -- $TERMINAL $browser = omarchy-launch-browser bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" -bindd = SUPER SHIFT, F, File manager, exec, uwsm app -- nautilus --new-window +bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window bindd = SUPER SHIFT, B, Browser, exec, $browser bindd = SUPER SHIFT ALT, B, Browser (private), exec, $browser --private bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker -bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop" +bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop" bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" -bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm app -- 1password +bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password # If your web app url contains #, type it as ## to prevent hyperland treat it as comments bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" diff --git a/default/hypr/autostart.conf b/default/hypr/autostart.conf index 706f719c..43cd3000 100644 --- a/default/hypr/autostart.conf +++ b/default/hypr/autostart.conf @@ -1,10 +1,10 @@ -exec-once = uwsm app -- hypridle -exec-once = uwsm app -- mako -exec-once = uwsm app -- waybar -exec-once = uwsm app -- fcitx5 -exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill -exec-once = uwsm app -- swayosd-server +exec-once = uwsm-app -- hypridle +exec-once = uwsm-app -- mako +exec-once = uwsm-app -- waybar +exec-once = uwsm-app -- fcitx5 +exec-once = uwsm-app -- swaybg -i ~/.config/omarchy/current/background -m fill +exec-once = uwsm-app -- swayosd-server exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = omarchy-cmd-first-run -exec-once = uwsm app -- elephant -exec-once = uwsm app -- walker --gapplication-service +exec-once = uwsm-app -- elephant +exec-once = uwsm-app -- walker --gapplication-service diff --git a/migrations/1753138691.sh b/migrations/1753138691.sh index d9197ba5..ef55a91f 100644 --- a/migrations/1753138691.sh +++ b/migrations/1753138691.sh @@ -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 diff --git a/migrations/1753224615.sh b/migrations/1753224615.sh index cd6c7978..6f9dcfb5 100644 --- a/migrations/1753224615.sh +++ b/migrations/1753224615.sh @@ -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 diff --git a/migrations/1757877852.sh b/migrations/1757877852.sh index a0b88bdd..51ecd105 100644 --- a/migrations/1757877852.sh +++ b/migrations/1757877852.sh @@ -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 diff --git a/migrations/1758019332.sh b/migrations/1758019332.sh index 003acd56..520a222d 100644 --- a/migrations/1758019332.sh +++ b/migrations/1758019332.sh @@ -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 -i '/terminal = uwsm-app -- alacritty/ c\$terminal = uwsm-app -- $TERMINAL' ~/.config/hypr/bindings.conf fi From d50e4a6814c7aa290be13f40f54b9b3be6393906 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 16 Oct 2025 10:54:58 -0400 Subject: [PATCH 158/209] Add elephant config to refresh --- bin/omarchy-refresh-walker | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/omarchy-refresh-walker b/bin/omarchy-refresh-walker index aa7a0210..f4210d5d 100755 --- a/bin/omarchy-refresh-walker +++ b/bin/omarchy-refresh-walker @@ -1,4 +1,5 @@ #!/bin/bash omarchy-refresh-config walker/config.toml +omarchy-refresh-config elephant/desktopapplications.toml omarchy-restart-walker From f81f9dd181fec2b7161aab50ff9294e0582b5285 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 16 Oct 2025 10:55:05 -0400 Subject: [PATCH 159/209] Disable actions --- config/elephant/desktopapplications.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/elephant/desktopapplications.toml b/config/elephant/desktopapplications.toml index aa6acc12..de17325b 100644 --- a/config/elephant/desktopapplications.toml +++ b/config/elephant/desktopapplications.toml @@ -1,3 +1,3 @@ -show_actions = true +show_actions = false only_search_title = true history = false From 96eed35b5193cc7d960aef1a377f84f94518e749 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 16 Oct 2025 11:27:14 -0400 Subject: [PATCH 160/209] Kickstart Walker service if it goes down --- bin/omarchy-launch-walker | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/omarchy-launch-walker b/bin/omarchy-launch-walker index e52f48d3..3f77c37f 100755 --- a/bin/omarchy-launch-walker +++ b/bin/omarchy-launch-walker @@ -5,4 +5,9 @@ if ! pgrep -x elephant > /dev/null; then setsid uwsm-app -- elephant & fi +# Ensure walker service is running +if ! pgrep -f "walker --gapplication-service" > /dev/null; then + setsid uwsm-app -- walker --gapplication-service & +fi + exec walker "$@" From ad3bc036537fecaea41ba989f33e7600da602a40 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 16 Oct 2025 11:41:30 -0400 Subject: [PATCH 161/209] Rename nvim setup --- install/config/lazyvim.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/lazyvim.sh b/install/config/lazyvim.sh index 325f6310..e7680c51 100644 --- a/install/config/lazyvim.sh +++ b/install/config/lazyvim.sh @@ -1 +1 @@ -omarchy-lazyvim-setup +omarchy-nvim-setup From c6b598ba91db35436c87fd76cfc4946d37963397 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 16 Oct 2025 11:41:30 -0400 Subject: [PATCH 162/209] Rename nvim setup --- install/packaging/all.sh | 2 +- install/packaging/lazyvim.sh | 3 --- install/{config/lazyvim.sh => packaging/nvim.sh} | 0 3 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 install/packaging/lazyvim.sh rename install/{config/lazyvim.sh => packaging/nvim.sh} (100%) diff --git a/install/packaging/all.sh b/install/packaging/all.sh index 52788734..a28c3963 100644 --- a/install/packaging/all.sh +++ b/install/packaging/all.sh @@ -1,6 +1,6 @@ run_logged $OMARCHY_INSTALL/packaging/base.sh run_logged $OMARCHY_INSTALL/packaging/fonts.sh -run_logged $OMARCHY_INSTALL/packaging/lazyvim.sh +run_logged $OMARCHY_INSTALL/packaging/nvim.sh run_logged $OMARCHY_INSTALL/packaging/icons.sh run_logged $OMARCHY_INSTALL/packaging/webapps.sh run_logged $OMARCHY_INSTALL/packaging/tuis.sh diff --git a/install/packaging/lazyvim.sh b/install/packaging/lazyvim.sh deleted file mode 100644 index f8b8e37b..00000000 --- a/install/packaging/lazyvim.sh +++ /dev/null @@ -1,3 +0,0 @@ -if [[ ! -d "$HOME/.config/nvim" ]]; then - omarchy-lazyvim-setup -fi diff --git a/install/config/lazyvim.sh b/install/packaging/nvim.sh similarity index 100% rename from install/config/lazyvim.sh rename to install/packaging/nvim.sh From a7a075d898e29ec763974099e8e7bcf37fae2837 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 16 Oct 2025 12:26:35 -0400 Subject: [PATCH 163/209] Prevent calculating flash --- config/elephant/calc.toml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/elephant/calc.toml diff --git a/config/elephant/calc.toml b/config/elephant/calc.toml new file mode 100644 index 00000000..95d00d12 --- /dev/null +++ b/config/elephant/calc.toml @@ -0,0 +1 @@ +async = false From 2789454183339e933344c1d56976f1d381863292 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 16 Oct 2025 20:52:57 -0400 Subject: [PATCH 164/209] Don't need to relaunch anymore --- config/hypr/monitors.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/config/hypr/monitors.conf b/config/hypr/monitors.conf index 6fc13876..2f1f0db8 100644 --- a/config/hypr/monitors.conf +++ b/config/hypr/monitors.conf @@ -1,7 +1,6 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ # List current monitors and resolutions possible: hyprctl monitors # Format: monitor = [port], resolution, position, scale -# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch) # Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K. env = GDK_SCALE,2 From a672f6350ac0bd8a226489a33fce967629d2ea26 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 17 Oct 2025 00:41:13 -0400 Subject: [PATCH 165/209] Don't need this --- bin/omarchy-refresh-elephant | 4 ---- 1 file changed, 4 deletions(-) delete mode 100755 bin/omarchy-refresh-elephant diff --git a/bin/omarchy-refresh-elephant b/bin/omarchy-refresh-elephant deleted file mode 100755 index 3958a5bd..00000000 --- a/bin/omarchy-refresh-elephant +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -omarchy-refresh-config elephant/desktopapplications.toml -omarchy-restart-elephant From ea38e43fe6cbe6dc775831871553657c7482ba16 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 17 Oct 2025 00:41:19 -0400 Subject: [PATCH 166/209] Add calc to refresh --- bin/omarchy-refresh-walker | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/omarchy-refresh-walker b/bin/omarchy-refresh-walker index f4210d5d..04112a4d 100755 --- a/bin/omarchy-refresh-walker +++ b/bin/omarchy-refresh-walker @@ -1,5 +1,6 @@ #!/bin/bash omarchy-refresh-config walker/config.toml +omarchy-refresh-config elephant/calc.toml omarchy-refresh-config elephant/desktopapplications.toml omarchy-restart-walker From ccde2126444f693b3f4c1f5f23d16628bd0aa422 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Fri, 17 Oct 2025 03:07:08 -0400 Subject: [PATCH 167/209] Add Windows VM (#2462) * adding TUI for starting up windows VM * updating to use docker-compose * adding possibility to set windows product-key * ram and cpu settings * first time run notes * add two needed pacman packages * key and package install * Revert "add two needed pacman packages" This reverts commit 04dc96cee0d3e37103b9866d9140ba47133db7ad. * add install and remove scripts * install icon * rename scripts and menu to Windows VM * rename also launch script to windows vm * update nameing * remove quotes * fix paramter and quiting after installation * fix launch script * update * certificate acceptance and remove of desktop app * move desktop app * rename app from "Windows VM" to "Windows" * add example of sharing local share with Windows * merge 'dev' into windows-docker-vm * exchange rdesktop with freerdc * accept certificates automatically so user don't fail first try * remove certi during normal launch (handled in install process) * remove volumes and orphans to have clean state (avoids hang on login) * /cert option still needed * Simplify package installs * Fix icon + desktop to prevent creation on initial install * omarchy-windows-vm in working form * Don't need this anymore * Fix commands * Always use uwsm-app * We are generating it instead * Make omarchy-pkg-add quiet when the packages are already there * Improve the questionnaire * Show where you change resource usage * Add default Windows share --------- Co-authored-by: sspaeti Co-authored-by: David Heinemeier Hansson --- applications/icons/windows.png | Bin 0 -> 76463 bytes bin/omarchy-menu | 6 +- bin/omarchy-pkg-add | 4 +- bin/omarchy-windows-vm | 445 +++++++++++++++++++++++++++++++++ 4 files changed, 452 insertions(+), 3 deletions(-) create mode 100644 applications/icons/windows.png create mode 100755 bin/omarchy-windows-vm diff --git a/applications/icons/windows.png b/applications/icons/windows.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7b366d9f65d24ae8c313c42df3e84bedc22221 GIT binary patch literal 76463 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

0`9eV#gtcaa3 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