From 64c6e872fc3971ef77577a77dd8d732203b4e624 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 26 Jul 2025 18:38:55 -0400 Subject: [PATCH 01/22] Match Omarchy TUI window to the slimmer logo --- bin/omarchy | 2 +- default/hypr/windows.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/omarchy b/bin/omarchy index 7f54d71..7e7931d 100755 --- a/bin/omarchy +++ b/bin/omarchy @@ -6,7 +6,7 @@ PATH="$PATH:$HOME/.local/share/omarchy/bin" show_ascii_art() { clear tte -i ~/.local/share/omarchy/logo.txt --frame-rate 640 --no-color expand - echo " $OMARCHY_VERSION" + echo " $OMARCHY_VERSION" } main_menu() { diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf index ec62f32..d0f458a 100644 --- a/default/hypr/windows.conf +++ b/default/hypr/windows.conf @@ -7,7 +7,7 @@ windowrule = tile, class:^(Chromium)$ # Float and center settings and previews windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$ -windowrule = size 645 450, class:Omarchy +windowrule = size 590 400, class:Omarchy windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ # Float and center file pickers From 24e3f752ba356a0b510f472a6b25b5b4e2cf9d52 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 26 Jul 2025 18:49:22 -0400 Subject: [PATCH 02/22] Float and center About --- default/hypr/windows.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf index d0f458a..d240832 100644 --- a/default/hypr/windows.conf +++ b/default/hypr/windows.conf @@ -5,10 +5,11 @@ windowrule = suppressevent maximize, class:.* windowrule = tile, class:^(Chromium)$ # Float and center settings and previews -windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ +windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$ windowrule = size 590 400, class:Omarchy -windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ +windowrule = size 700 470 class:About +windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ # Float and center file pickers windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) From 42886f86bb614a3b3b7304c9b7c26349ba1e818d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 26 Jul 2025 18:49:33 -0400 Subject: [PATCH 03/22] Ordering --- default/hypr/windows.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf index d240832..4945864 100644 --- a/default/hypr/windows.conf +++ b/default/hypr/windows.conf @@ -6,10 +6,10 @@ windowrule = tile, class:^(Chromium)$ # Float and center settings and previews windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ +windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$ windowrule = size 590 400, class:Omarchy windowrule = size 700 470 class:About -windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ # Float and center file pickers windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) From 0ff139860d773b3b303cadfd46da403089419498 Mon Sep 17 00:00:00 2001 From: Sean Mitchell Date: Sat, 26 Jul 2025 17:04:50 -0700 Subject: [PATCH 04/22] Update boot.sh ANSI --- boot.sh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/boot.sh b/boot.sh index 65c1cac..9a79afc 100755 --- a/boot.sh +++ b/boot.sh @@ -1,14 +1,15 @@ #!/bin/bash -ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄ -███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄ -███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███ -███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███ -███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███ -███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███ -███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ - ▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀ - ███ ███ ' +ansi_art=' ▄▄▄ + ▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███ +███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███ +███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███ +███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ + ▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀ + ███ █▀ ' clear echo -e "\n$ansi_art\n" From ffd136cdc6e306e1a3fe4b33309d021f009b3031 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 26 Jul 2025 21:10:47 -0400 Subject: [PATCH 05/22] Add a fun dazzle with the Omarchy logo that just keeps looping --- bin/omarchy-dazzle | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100755 bin/omarchy-dazzle diff --git a/bin/omarchy-dazzle b/bin/omarchy-dazzle new file mode 100755 index 0000000..dc06ff6 --- /dev/null +++ b/bin/omarchy-dazzle @@ -0,0 +1,9 @@ +#!/bin/bash + +trap "exit" SIGINT + +while true; do + effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1) + tte -i ~/.local/share/omarchy/logo.txt --frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c "$effect" + clear +done From 008fab9df347195ae177c9698396c5b674dac944 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 26 Jul 2025 21:53:13 -0400 Subject: [PATCH 06/22] Turn dazzle into a full-blown screensaver --- bin/{omarchy-dazzle => omarchy-cmd-screensaver} | 0 bin/omarchy-launch-screensaver | 5 +++++ default/hypr/bindings/utilities.conf | 3 +++ default/hypr/windows.conf | 3 +++ 4 files changed, 11 insertions(+) rename bin/{omarchy-dazzle => omarchy-cmd-screensaver} (100%) create mode 100755 bin/omarchy-launch-screensaver diff --git a/bin/omarchy-dazzle b/bin/omarchy-cmd-screensaver similarity index 100% rename from bin/omarchy-dazzle rename to bin/omarchy-cmd-screensaver diff --git a/bin/omarchy-launch-screensaver b/bin/omarchy-launch-screensaver new file mode 100755 index 0000000..f81c44e --- /dev/null +++ b/bin/omarchy-launch-screensaver @@ -0,0 +1,5 @@ +#!/bin/bash + +pkill -f "alacritty --class Screensaver" || + alacritty --class Screensaver --title Screensaver -o 'colors.primary.background="#000000"' \ + -e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index cffd84d..fe449cc 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -32,5 +32,8 @@ bind = CTRL, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot outp bind = ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord bind = CTRL ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output +# Screensaver +bind = SUPER ALT, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-launch-screensaver + # Color picker bind = SUPER, PRINT, exec, hyprpicker -a diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf index 4945864..3c45bcd 100644 --- a/default/hypr/windows.conf +++ b/default/hypr/windows.conf @@ -20,6 +20,9 @@ windowrule = float, class:steam windowrule = center, class:steam windowrule = fullscreen, class:^(com.libretro.RetroArch)$ +# Fullscreen screensaver +windowrule = fullscreen, class:Screensaver + # Just dash of opacity windowrule = opacity 0.97 0.9, class:.* windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$ From a0c90fb3dbe989a472843158e1c4f4c738a93ed8 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 26 Jul 2025 21:57:27 -0400 Subject: [PATCH 07/22] Not needed --- bin/omarchy-cmd-screensaver | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index dc06ff6..ee671cb 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -5,5 +5,4 @@ trap "exit" SIGINT while true; do effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1) tte -i ~/.local/share/omarchy/logo.txt --frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c "$effect" - clear done From 44925a6085ea2e64751ae8582ac51d148f714531 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 26 Jul 2025 21:58:09 -0400 Subject: [PATCH 08/22] More readable --- bin/omarchy-cmd-screensaver | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index ee671cb..03fd1a6 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -4,5 +4,7 @@ trap "exit" SIGINT while true; do effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1) - tte -i ~/.local/share/omarchy/logo.txt --frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c "$effect" + tte -i ~/.local/share/omarchy/logo.txt \ + --frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c \ + "$effect" done From 2953db18d96b3bf398ba332885f8d62fd90ad84e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 27 Jul 2025 10:45:21 -0400 Subject: [PATCH 09/22] Reveal a fully .bashrc that provides examples of what to overwrite --- default/bashrc | 14 ++++++++++++++ install/config/config.sh | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 default/bashrc diff --git a/default/bashrc b/default/bashrc new file mode 100644 index 0000000..59c60c8 --- /dev/null +++ b/default/bashrc @@ -0,0 +1,14 @@ +# All the default Omarchy aliases and functions +# (don't mess with these directly, just overwrite them here!) +source ~/.local/share/omarchy/default/bash/rc + +# Add your own exports, aliases, and functions here. +# +# Make an alias for invoking commands you use constantly +# alias p='python' +# +# Use VSCode instead of neovim as your default editor +# export EDITOR="code" +# +# Set a custom prompt with the directory revealed: +# PS1="\W \[\e]0;\w\a\]$PS1" diff --git a/install/config/config.sh b/install/config/config.sh index 3b463ce..4f08303 100644 --- a/install/config/config.sh +++ b/install/config/config.sh @@ -4,7 +4,7 @@ cp -R ~/.local/share/omarchy/config/* ~/.config/ # Use default bashrc from Omarchy -echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc +cp ~/.local/share/omarchy/default/bashrc ~/.bashrc # Ensure application directory exists for update-desktop-database mkdir -p ~/.local/share/applications From e446c4c71e7deaf8f1fa1da8b2dece9b0083bab5 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 27 Jul 2025 12:33:54 -0400 Subject: [PATCH 10/22] Improve the examples and include the fractional scaling example --- config/hypr/monitors.conf | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/config/hypr/monitors.conf b/config/hypr/monitors.conf index 84db2ff..43aeb6e 100644 --- a/config/hypr/monitors.conf +++ b/config/hypr/monitors.conf @@ -1,17 +1,20 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ - -# Change to 1 if on a 1x display (then change last "auto" to 1 in monitor=) -# Change to something like 1.75 for fractional scaling (can work well with 1.66667 monitor scaling) -# Note: You must relaunch Hyprland after changing any env like this (use Super+Esc, then Relaunch) -env = GDK_SCALE,2 - -# Use single default monitor (see all monitors with: hyprctl monitors) +# List current monitors and resolutions possible: hyprctl monitors # Format: monitor = [port], resolution, position, scale -monitor=,preferred,auto,auto +# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch) -# Exmaple for fractional scaling that works well with GDK_SCALE,1.75 +# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K. +env = GDK_SCALE,2 +monitor=,preferred,auto,2 + +# Good compromise for 27" or 32" 4K monitors (but fractional!) +# env = GDK_SCALE,1.75 # monitor=,preferred,auto,1.666667 +# Straight 1x setup for low-resolution displays like 1080p or 1440p +# env = GDK_SCALE,1 +# monitor=,preferred,auto,1 + # Example for Framework 13 w/ 6K XDR Apple display -# monitor = DP-5, 6016x3384@60.00, auto, 2 -# monitor = eDP-1, 2880x1920@120.00, auto, 2 +# monitor = DP-5, 6016x3384@60, auto, 2 +# monitor = eDP-1, 2880x1920@120, auto, 2 From 35a603d0d23f61fdf372bdcf42c248dd988e370a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 27 Jul 2025 13:10:51 -0400 Subject: [PATCH 11/22] Don't force 2 --- config/hypr/monitors.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/hypr/monitors.conf b/config/hypr/monitors.conf index 43aeb6e..6fc1387 100644 --- a/config/hypr/monitors.conf +++ b/config/hypr/monitors.conf @@ -5,7 +5,7 @@ # Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K. env = GDK_SCALE,2 -monitor=,preferred,auto,2 +monitor=,preferred,auto,auto # Good compromise for 27" or 32" 4K monitors (but fractional!) # env = GDK_SCALE,1.75 From a801fde7b920ce4d4b9efbe27c6e95f66e1bea00 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 27 Jul 2025 14:10:04 -0400 Subject: [PATCH 12/22] Recommend starship.rs for prompt --- default/bashrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/bashrc b/default/bashrc index 59c60c8..03fb323 100644 --- a/default/bashrc +++ b/default/bashrc @@ -10,5 +10,5 @@ source ~/.local/share/omarchy/default/bash/rc # Use VSCode instead of neovim as your default editor # export EDITOR="code" # -# Set a custom prompt with the directory revealed: +# Set a custom prompt with the directory revealed (alternatively use https://starship.rs) # PS1="\W \[\e]0;\w\a\]$PS1" From eca4f65475f467624f2ea1b4e757694fc1d65ebe Mon Sep 17 00:00:00 2001 From: Brosseau Valentin Date: Sun, 27 Jul 2025 21:07:20 +0200 Subject: [PATCH 13/22] Add ALT+Tab bindings to cycle windows and bring active to top --- default/hypr/bindings/tiling.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index 1176e19..1662b0a 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -42,6 +42,8 @@ bind = SUPER SHIFT, left, swapwindow, l bind = SUPER SHIFT, right, swapwindow, r bind = SUPER SHIFT, up, swapwindow, u bind = SUPER SHIFT, down, swapwindow, d +bind = ALT, Tab, cyclenext +bind = ALT, Tab, bringactivetotop # Resize active window bind = SUPER, minus, resizeactive, -100 0 From 478b2da0f1db7f2a8880cfef283df622b79fee37 Mon Sep 17 00:00:00 2001 From: Taha Date: Sun, 27 Jul 2025 23:24:06 -0700 Subject: [PATCH 14/22] Add omarchy version to fastfetch config --- config/fastfetch/config.jsonc | 287 +++++++++++++++++----------------- 1 file changed, 146 insertions(+), 141 deletions(-) diff --git a/config/fastfetch/config.jsonc b/config/fastfetch/config.jsonc index 7bdcd72..66a3689 100644 --- a/config/fastfetch/config.jsonc +++ b/config/fastfetch/config.jsonc @@ -1,144 +1,149 @@ { - "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", - "logo": { - "padding": { - "top": 5, - "right": 6 - } + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 5, + "right": 6 + } + }, + "modules": [ + "break", + { + "type": "custom", + "format": "\u001b[90m┌──────────────────────Hardware──────────────────────┐" }, - "modules": [ - "break", - { - "type": "custom", - "format": "\u001b[90m┌──────────────────────Hardware──────────────────────┐" - }, - { - "type": "host", - "key": " PC", - "keyColor": "green" - }, - { - "type": "cpu", - "key": "│ ├", - "showPeCoreCount": true, - "keyColor": "green" - }, - { - "type": "gpu", - "key": "│ ├", - "detectionMethod": "pci", - "keyColor": "green" - }, - { - "type": "display", - "key": "│ ├󱄄", - "keyColor": "green" - }, - { - "type": "disk", - "key": "│ ├󰋊", - "keyColor": "green" - }, - { - "type": "memory", - "key": "│ ├", - "keyColor": "green" - }, - { - "type": "swap", - "key": "└ └󰓡 ", - "keyColor": "green", - }, - { - "type": "custom", - "format": "\u001b[90m└────────────────────────────────────────────────────┘" - }, - "break", - { - "type": "custom", - "format": "\u001b[90m┌──────────────────────Software──────────────────────┐" - }, - { - "type": "os", - "key": " OS", - "keyColor": "yellow" - }, - { - "type": "kernel", - "key": "│ ├", - "keyColor": "yellow" - }, - { - "type": "packages", - "key": "│ ├󰏖", - "keyColor": "yellow" - }, - { - "type": "shell", - "key": "└ └", - "keyColor": "yellow" - }, - "break", - { - "type": "de", - "key": " DE", - "keyColor": "blue" - }, - { - "type": "wm", - "key": "│ ├", - "keyColor": "blue" - }, - { - "type": "wmtheme", - "key": "│ ├󰉼", - "keyColor": "blue" - }, - { - "type": "icons", - "key": "│ ├󰀻", - "keyColor": "blue", - }, - { - "type": "cursor", - "key": "│ ├", - "keyColor": "blue", - }, - { - "type": "terminalfont", - "key": "│ ├", - "keyColor": "blue", - }, - { - "type": "terminal", - "key": "└ └", - "keyColor": "blue" - }, - { - "type": "custom", - "format": "\u001b[90m└────────────────────────────────────────────────────┘" - }, - "break", - { - "type": "custom", - "format": "\u001b[90m┌────────────────────Uptime / Age────────────────────┐" - }, - { - "type": "command", - "key": " OS Age ", - "keyColor": "magenta", - "text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days" - }, - { - "type": "uptime", - "key": " Uptime ", - "keyColor": "magenta" - }, - { - "type": "custom", - "format": "\u001b[90m└────────────────────────────────────────────────────┘" - }, - "break", - ] + { + "type": "host", + "key": " PC", + "keyColor": "green" + }, + { + "type": "cpu", + "key": "│ ├", + "showPeCoreCount": true, + "keyColor": "green" + }, + { + "type": "gpu", + "key": "│ ├", + "detectionMethod": "pci", + "keyColor": "green" + }, + { + "type": "display", + "key": "│ ├󱄄", + "keyColor": "green" + }, + { + "type": "disk", + "key": "│ ├󰋊", + "keyColor": "green" + }, + { + "type": "memory", + "key": "│ ├", + "keyColor": "green" + }, + { + "type": "swap", + "key": "└ └󰓡 ", + "keyColor": "green" + }, + { + "type": "custom", + "format": "\u001b[90m└────────────────────────────────────────────────────┘" + }, + "break", + { + "type": "custom", + "format": "\u001b[90m┌──────────────────────Software──────────────────────┐" + }, + { + "type": "os", + "key": " OS", + "keyColor": "yellow" + }, + { + "type": "kernel", + "key": "│ ├", + "keyColor": "yellow" + }, + { + "type": "packages", + "key": "│ ├󰏖", + "keyColor": "yellow" + }, + { + "type": "shell", + "key": "└ └", + "keyColor": "yellow" + }, + "break", + { + "type": "command", + "key": "│ ├Ø", + "keyColor": "blue", + "text": "version=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/dev/null); echo \"Omarchy $version\"" + }, + { + "type": "de", + "key": " DE", + "keyColor": "blue" + }, + { + "type": "wm", + "key": "│ ├", + "keyColor": "blue" + }, + { + "type": "wmtheme", + "key": "│ ├󰉼", + "keyColor": "blue" + }, + { + "type": "icons", + "key": "│ ├󰀻", + "keyColor": "blue" + }, + { + "type": "cursor", + "key": "│ ├", + "keyColor": "blue" + }, + { + "type": "terminalfont", + "key": "│ ├", + "keyColor": "blue" + }, + { + "type": "terminal", + "key": "└ └", + "keyColor": "blue" + }, + { + "type": "custom", + "format": "\u001b[90m└────────────────────────────────────────────────────┘" + }, + "break", + { + "type": "custom", + "format": "\u001b[90m┌────────────────────Uptime / Age────────────────────┐" + }, + { + "type": "command", + "key": " OS Age ", + "keyColor": "magenta", + "text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days" + }, + { + "type": "uptime", + "key": " Uptime ", + "keyColor": "magenta" + }, + { + "type": "custom", + "format": "\u001b[90m└────────────────────────────────────────────────────┘" + }, + "break" + ] } - From 01d6deae3418375f3541acf77c197c80420b9edf Mon Sep 17 00:00:00 2001 From: Taha Date: Sun, 27 Jul 2025 23:34:10 -0700 Subject: [PATCH 15/22] Add migration script for Omarchy version in fastfetch --- migrations/1753683888.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 migrations/1753683888.sh diff --git a/migrations/1753683888.sh b/migrations/1753683888.sh new file mode 100644 index 0000000..2e7b53d --- /dev/null +++ b/migrations/1753683888.sh @@ -0,0 +1,4 @@ +echo "Adding Omarchy version info to fastfetch" +if [ -d ~/.config/fastfetch ]; then + cp ~/.local/share/omarchy/config/fastfetch/config.jsonc ~/.config/fastfetch/ +fi \ No newline at end of file From e8d095c7874ec847f1317a70a74cd0c41a3df814 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 28 Jul 2025 09:32:44 +0200 Subject: [PATCH 16/22] Match logo.txt --- omarchy.svg => logo.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename omarchy.svg => logo.svg (100%) diff --git a/omarchy.svg b/logo.svg similarity index 100% rename from omarchy.svg rename to logo.svg From 7589683cd11a49514304c997460916a365aed095 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 28 Jul 2025 09:58:51 +0200 Subject: [PATCH 17/22] Adjust migration to check for whether fastfetch already has the change or not --- migrations/1753683888.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/migrations/1753683888.sh b/migrations/1753683888.sh index 2e7b53d..ca08d7b 100644 --- a/migrations/1753683888.sh +++ b/migrations/1753683888.sh @@ -1,4 +1,5 @@ echo "Adding Omarchy version info to fastfetch" -if [ -d ~/.config/fastfetch ]; then - cp ~/.local/share/omarchy/config/fastfetch/config.jsonc ~/.config/fastfetch/ -fi \ No newline at end of file +if ! grep -q "omarchy" ~/.config/fastfetch/config.jsonc; then + cp ~/.local/share/omarchy/config/fastfetch/config.jsonc ~/.config/fastfetch/ +fi + From 588ce42f0825f328c7209ef51cf4de1245b95a5b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 28 Jul 2025 10:03:11 +0200 Subject: [PATCH 18/22] Split and explain --- default/hypr/bindings/tiling.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index 1662b0a..2fb1e90 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -42,6 +42,8 @@ bind = SUPER SHIFT, left, swapwindow, l bind = SUPER SHIFT, right, swapwindow, r bind = SUPER SHIFT, up, swapwindow, u bind = SUPER SHIFT, down, swapwindow, d + +# Cycle through applications on active workspace bind = ALT, Tab, cyclenext bind = ALT, Tab, bringactivetotop From 7f2c9391d25591d858a68c9227f3a2ab0ffb9d70 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 28 Jul 2025 12:57:23 +0200 Subject: [PATCH 19/22] /etc/sudoers.d is not accessible without sudo --- install/config/timezones.sh | 2 +- migrations/1753495989.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/config/timezones.sh b/install/config/timezones.sh index df796e2..d06c3d6 100644 --- a/install/config/timezones.sh +++ b/install/config/timezones.sh @@ -1,6 +1,6 @@ #!/bin/bash -if [[ ! -f /etc/sudoers.d/omarchy-tzupdate ]]; then +if ! command -v tzupdate &>/dev/null; then yay -S --noconfirm --needed tzupdate sudo tee /etc/sudoers.d/omarchy-tzupdate >/dev/null </dev/null; then bash ~/.local/share/omarchy/install/config/timezones.sh omarchy-refresh-waybar fi From fbec9b5163f8792ad53d7f9beb43eb16562b6451 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 28 Jul 2025 12:58:57 +0200 Subject: [PATCH 20/22] Always setsid so we don't die with the script --- bin/omarchy-refresh-walker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-refresh-walker b/bin/omarchy-refresh-walker index c45f54e..cd52a83 100755 --- a/bin/omarchy-refresh-walker +++ b/bin/omarchy-refresh-walker @@ -10,4 +10,4 @@ else fi pkill walker -uwsm app -- walker --gapplication-service & +setsid uwsm app -- walker --gapplication-service & From 189596cc88e0715d9160023dd299a87a4f84c0be Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 28 Jul 2025 13:01:02 +0200 Subject: [PATCH 21/22] Add migration for new ristretto theme --- migrations/1753689791.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 migrations/1753689791.sh diff --git a/migrations/1753689791.sh b/migrations/1753689791.sh new file mode 100644 index 0000000..d7c3145 --- /dev/null +++ b/migrations/1753689791.sh @@ -0,0 +1,5 @@ +echo "Add the new ristretto theme as an option" + +if [[ ! -L ~/.config/omarchy/themes/ristretto ]]; then + ln -nfs ~/.local/share/omarchy/themes/ristretto ~/.config/omarchy/themes/ +fi From 9c5a29def4be84d44045578e923eb0f6988caa42 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 28 Jul 2025 13:14:35 +0200 Subject: [PATCH 22/22] Fix sort order bug with italics --- bin/omarchy-theme-menu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-theme-menu b/bin/omarchy-theme-menu index 96ca993..895b2c2 100755 --- a/bin/omarchy-theme-menu +++ b/bin/omarchy-theme-menu @@ -6,7 +6,7 @@ CURRENT_THEME_NAME=$(basename "$(realpath "$CURRENT_THEME_DIR")") # Build themes list with pretty display names mapfile -t themes < <( - find "$THEMES_DIR" -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | while read -r path; do + find "$THEMES_DIR" -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | sort | while read -r path; do filename=$(basename "$path") display_name=$(echo "$filename" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g') @@ -15,7 +15,7 @@ mapfile -t themes < <( else echo "$display_name" fi - done | sort + done ) # Show Walker menu