From a8f3251e9b24c740f8c20eeeb80654f9201777e2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 28 Feb 2026 20:44:54 +0100 Subject: [PATCH 01/50] Include Shift + Return as default for browser --- config/hypr/bindings.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index 985832fc..71d36c9c 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -1,6 +1,7 @@ # Application bindings bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" tmux new +bindd = SUPER SHIFT, RETURN, Browser, exec, omarchy-launch-browser bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)" bindd = SUPER SHIFT, B, Browser, exec, omarchy-launch-browser From 8805586247ee1578abf4dcc933680d2ac04c19ee Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 28 Feb 2026 21:05:15 +0100 Subject: [PATCH 02/50] Hide omarchy themes menu from elephant provider list Closes #4820 --- default/elephant/omarchy_themes.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/elephant/omarchy_themes.lua b/default/elephant/omarchy_themes.lua index 02baa0a9..945f4e60 100644 --- a/default/elephant/omarchy_themes.lua +++ b/default/elephant/omarchy_themes.lua @@ -3,6 +3,7 @@ -- Name = "omarchythemes" NamePretty = "Omarchy Themes" +HideFromProviderlist = true -- Check if file exists using Lua (no subprocess) local function file_exists(path) @@ -93,4 +94,3 @@ function GetEntries() return entries end - From a6bf23a59225f0b1c035ff65087852e58a7b4a21 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 28 Feb 2026 21:14:34 +0100 Subject: [PATCH 03/50] Suggest scrolling layout swiping --- config/hypr/input.conf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/hypr/input.conf b/config/hypr/input.conf index 841c8f42..5639f2c0 100644 --- a/config/hypr/input.conf +++ b/config/hypr/input.conf @@ -18,7 +18,7 @@ input { # Increase sensitivity for mouse/trackpad (default: 0) # sensitivity = 0.35 - + # Turn off mouse acceleration (default: false) # force_no_accel = true @@ -47,3 +47,7 @@ windowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2 # Enable touchpad gestures for changing workspaces # See https://wiki.hyprland.org/Configuring/Gestures/ # gesture = 3, horizontal, workspace + +# Enable touchpad gestures for moving focus (helpful on scrolling layout) +# gesture = 3, left, dispatcher, movefocus, l +# gesture = 3, right, dispatcher, movefocus, r From 39f1ca77d86b8aa8fe25ac41ac827129f819fa66 Mon Sep 17 00:00:00 2001 From: Jonathan Cammisuli <4332460+Cammisuli@users.noreply.github.com> Date: Sat, 28 Feb 2026 17:22:01 -0500 Subject: [PATCH 04/50] Apply already configured resolution and refresh rate when toggling scale Closes #4824 --- bin/omarchy-hyprland-monitor-scaling-cycle | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-hyprland-monitor-scaling-cycle b/bin/omarchy-hyprland-monitor-scaling-cycle index 00509752..c673fe5b 100755 --- a/bin/omarchy-hyprland-monitor-scaling-cycle +++ b/bin/omarchy-hyprland-monitor-scaling-cycle @@ -4,6 +4,9 @@ MONITOR_INFO=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true)') ACTIVE_MONITOR=$(echo "$MONITOR_INFO" | jq -r '.name') CURRENT_SCALE=$(echo "$MONITOR_INFO" | jq -r '.scale') +WIDTH=$(echo "$MONITOR_INFO" | jq -r '.width') +HEIGHT=$(echo "$MONITOR_INFO" | jq -r '.height') +REFRESH_RATE=$(echo "$MONITOR_INFO" | jq -r '.refreshRate') # Cycle through scales: 1 → 1.6 → 2 → 3 → 1 CURRENT_INT=$(awk -v s="$CURRENT_SCALE" 'BEGIN { printf "%.0f", s * 10 }') @@ -16,6 +19,6 @@ case "$CURRENT_INT" in esac hyprctl keyword misc:disable_scale_notification true -hyprctl keyword monitor "$ACTIVE_MONITOR,preferred,auto,$NEW_SCALE" +hyprctl keyword monitor "$ACTIVE_MONITOR,${WIDTH}x${HEIGHT}@${REFRESH_RATE},auto,$NEW_SCALE" hyprctl keyword misc:disable_scale_notification false notify-send "󰍹 Display scaling set to ${NEW_SCALE}x" From 149bf447630320fc831b528ba0652fd6493fd134 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 1 Mar 2026 16:33:02 +0100 Subject: [PATCH 05/50] Add Alt+Shift+Arrow keybindings for swapping tmux windows --- config/tmux/tmux.conf | 2 ++ migrations/1772379119.sh | 13 +++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 migrations/1772379119.sh diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index 56f0ac87..2b0ddb0d 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -43,6 +43,8 @@ bind -n M-9 select-window -t 9 bind -n M-Left select-window -t -1 bind -n M-Right select-window -t +1 +bind -n M-S-Left swap-window -t -1 \; select-window -t -1 +bind -n M-S-Right swap-window -t +1 \; select-window -t +1 # Session controls bind R command-prompt -I "#S" "rename-session -- '%%'" diff --git a/migrations/1772379119.sh b/migrations/1772379119.sh new file mode 100644 index 00000000..12e10134 --- /dev/null +++ b/migrations/1772379119.sh @@ -0,0 +1,13 @@ +echo "Add Alt+Shift+Arrow keybindings for swapping tmux windows" + +TMUX_CONF=~/.config/tmux/tmux.conf + +if [[ -f $TMUX_CONF ]]; then + if ! grep -q "bind -n M-S-Left swap-window" "$TMUX_CONF"; then + sed -i '/bind -n M-Right select-window -t +1/a\ +bind -n M-S-Left swap-window -t -1 \\; select-window -t -1\ +bind -n M-S-Right swap-window -t +1 \\; select-window -t +1' "$TMUX_CONF" + fi + + omarchy-restart-tmux +fi From 1c8d7a7487c63297c264bb43951deb3381e3c027 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 1 Mar 2026 17:39:12 +0100 Subject: [PATCH 06/50] Add worktrees functions --- default/bash/fns/worktrees | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 default/bash/fns/worktrees diff --git a/default/bash/fns/worktrees b/default/bash/fns/worktrees new file mode 100644 index 00000000..05fb5638 --- /dev/null +++ b/default/bash/fns/worktrees @@ -0,0 +1,36 @@ +# Create a new worktree and branch from within current git directory. +ga() { + if [[ -z "$1" ]]; then + echo "Usage: ga [branch name]" + return 1 + fi + + local branch="$1" + local base="$(basename "$PWD")" + local path="../${base}--${branch}" + + git worktree add -b "$branch" "$path" + mise trust "$path" + cd "$path" +} + +# Remove worktree and branch from within active worktree directory. +gd() { + if gum confirm "Remove worktree and branch?"; then + local cwd base branch root + + cwd="$(pwd)" + worktree="$(basename "$cwd")" + + # split on first `--` + root="${worktree%%--*}" + branch="${worktree#*--}" + + # Protect against accidentially nuking a non-worktree directory + if [[ "$root" != "$worktree" ]]; then + cd "../$root" + git worktree remove "$worktree" --force + git branch -D "$branch" + fi + fi +} From d9e3993d0c3007c3fe70b1087988a5ea69494c0a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 2 Mar 2026 13:21:57 +0100 Subject: [PATCH 07/50] Match the t alias --- 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 71d36c9c..62ad87c6 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -1,6 +1,6 @@ # Application bindings bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" -bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" tmux new +bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" bash -c "tmux attach || tmux new -s Work" bindd = SUPER SHIFT, RETURN, Browser, exec, omarchy-launch-browser bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)" From 758e9d442f22544f8df3942fc4e97e1cdc4c2232 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 2 Mar 2026 14:02:42 +0100 Subject: [PATCH 08/50] Fuller battery stats --- bin/omarchy-battery-remaining-time | 16 ++++++++++++++++ bin/omarchy-battery-status | 27 +++++++++++++++++++++++++++ default/hypr/bindings/utilities.conf | 2 +- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100755 bin/omarchy-battery-remaining-time create mode 100755 bin/omarchy-battery-status diff --git a/bin/omarchy-battery-remaining-time b/bin/omarchy-battery-remaining-time new file mode 100755 index 00000000..c54a3807 --- /dev/null +++ b/bin/omarchy-battery-remaining-time @@ -0,0 +1,16 @@ +#!/bin/bash + +# Returns the battery time remaining (to empty or full) in a compact format. + +battery_info=$(upower -i $(upower -e | grep BAT)) + +echo "$battery_info" | awk '/time to (empty|full)/ { + value = $4 + unit = $5 + gsub(/hours/, "h", unit) + gsub(/minutes/, "m", unit) + # Remove .0 from whole numbers + gsub(/\.0/, "", value) + print value unit + exit +}' diff --git a/bin/omarchy-battery-status b/bin/omarchy-battery-status new file mode 100755 index 00000000..b1e54d8b --- /dev/null +++ b/bin/omarchy-battery-status @@ -0,0 +1,27 @@ +#!/bin/bash + +# Returns a formatted battery status string with percentage and power draw/charge. +# Used by the battery notification hotkey (Ctrl + Shift + Super + B). + +battery_info=$(upower -i $(upower -e | grep BAT)) + +percentage=$(echo "$battery_info" | awk '/percentage/ { + print int($2) + exit +}') + +power_rate=$(echo "$battery_info" | awk '/energy-rate/ { + rounded = sprintf("%.1f", $2) + sub(/\.0$/, "", rounded) + print rounded + exit +}') + +state=$(echo "$battery_info" | awk '/state/ { print $2; exit }') +time_remaining=$(omarchy-battery-remaining-time) + +if [[ $state == "charging" ]]; then + echo "󰁹 Battery at ${percentage}% with ${time_remaining} left to full gaining ${power_rate}W" +else + echo "󰁹 Battery at ${percentage}% with ${time_remaining} left using ${power_rate}W" +fi diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index bd3ca4ab..9e0204b0 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -43,7 +43,7 @@ bindd = SUPER CTRL, S, Share, exec, omarchy-menu share # Waybar-less information bindd = SUPER CTRL ALT, T, Show time, exec, notify-send " $(date +"%A %H:%M — %d %B W%V %Y")" -bindd = SUPER CTRL ALT, B, Show battery remaining, exec, notify-send "󰁹 Battery is at $(omarchy-battery-remaining)%" +bindd = SUPER CTRL ALT, B, Show battery remaining, exec, notify-send "$(omarchy-battery-status)" # Control panels bindd = SUPER CTRL, A, Audio controls, exec, omarchy-launch-audio From 5e516be5447064352ea8188cba9f13508b04c3c0 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 2 Mar 2026 14:15:46 +0100 Subject: [PATCH 09/50] Even better --- bin/omarchy-battery-capacity | 11 +++++++++++ bin/omarchy-battery-remaining-time | 14 +++++++------- bin/omarchy-battery-status | 5 +++-- 3 files changed, 21 insertions(+), 9 deletions(-) create mode 100755 bin/omarchy-battery-capacity diff --git a/bin/omarchy-battery-capacity b/bin/omarchy-battery-capacity new file mode 100755 index 00000000..fa4b4c03 --- /dev/null +++ b/bin/omarchy-battery-capacity @@ -0,0 +1,11 @@ +#!/bin/bash + +# Returns the battery full capacity in Wh (rounded to whole number). +# Used by omarchy-battery-status for displaying battery capacity. + +battery_info=$(upower -i $(upower -e | grep BAT)) + +echo "$battery_info" | awk '/energy-full:/ { + printf "%d", $2 + exit +}' diff --git a/bin/omarchy-battery-remaining-time b/bin/omarchy-battery-remaining-time index c54a3807..9c2c7019 100755 --- a/bin/omarchy-battery-remaining-time +++ b/bin/omarchy-battery-remaining-time @@ -5,12 +5,12 @@ battery_info=$(upower -i $(upower -e | grep BAT)) echo "$battery_info" | awk '/time to (empty|full)/ { - value = $4 - unit = $5 - gsub(/hours/, "h", unit) - gsub(/minutes/, "m", unit) - # Remove .0 from whole numbers - gsub(/\.0/, "", value) - print value unit + hours = int($4) + minutes = int(($4 - hours) * 60) + if (minutes > 0) { + printf "%dh %dm", hours, minutes + } else { + printf "%dh", hours + } exit }' diff --git a/bin/omarchy-battery-status b/bin/omarchy-battery-status index b1e54d8b..021c0aa4 100755 --- a/bin/omarchy-battery-status +++ b/bin/omarchy-battery-status @@ -19,9 +19,10 @@ power_rate=$(echo "$battery_info" | awk '/energy-rate/ { state=$(echo "$battery_info" | awk '/state/ { print $2; exit }') time_remaining=$(omarchy-battery-remaining-time) +capacity=$(omarchy-battery-capacity) if [[ $state == "charging" ]]; then - echo "󰁹 Battery at ${percentage}% with ${time_remaining} left to full gaining ${power_rate}W" + echo "󰁹 Battery ${percentage}% · ${time_remaining} to full ·  ${power_rate}W / ${capacity}Wh" else - echo "󰁹 Battery at ${percentage}% with ${time_remaining} left using ${power_rate}W" + echo "󰁹 Battery ${percentage}% · ${time_remaining} left ·  ${power_rate}W / ${capacity}Wh" fi From 546290e3dee4dbb0f35aced8f98606e1f23bb699 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 3 Mar 2026 15:12:10 -0500 Subject: [PATCH 10/50] Fix Panther Lake GPU display issues by turning off power saving features until they're fixed --- install/config/all.sh | 1 + .../config/hardware/fix-intel-panther-lake-display.sh | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 install/config/hardware/fix-intel-panther-lake-display.sh diff --git a/install/config/all.sh b/install/config/all.sh index 52458a72..9e18b5b1 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -33,6 +33,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/vulkan.sh +run_logged $OMARCHY_INSTALL/config/hardware/fix-intel-panther-lake-display.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-bcm43xx.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh diff --git a/install/config/hardware/fix-intel-panther-lake-display.sh b/install/config/hardware/fix-intel-panther-lake-display.sh new file mode 100644 index 00000000..5b179585 --- /dev/null +++ b/install/config/hardware/fix-intel-panther-lake-display.sh @@ -0,0 +1,11 @@ +# Fix display issues on Intel Panther Lake (Xe3) GPUs by disabling power-saving +# features that cause screen to run at 10hz (e.g. Dell XPS 2026). +if lspci | grep -iE 'vga|3d|display' | grep -qi 'panther lake'; then + echo "Detected Intel Panther Lake GPU, applying display fixes..." + + sudo mkdir -p /etc/limine-entry-tool.d + cat </dev/null +# Fix Panther Lake display issues by disabling Xe power-saving features +KERNEL_CMDLINE[default]+=" xe.enable_psr=0 xe.enable_panel_replay=0 xe.enable_fbc=0 xe.enable_dc=0" +EOF +fi From e1ee8e8561c5c1ccfd953d4cf5e311dd1f810aed Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 3 Mar 2026 15:12:20 -0500 Subject: [PATCH 11/50] Fix smushing --- bin/omarchy-hibernation-setup | 4 ++-- install/config/hardware/fix-apple-t2.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/omarchy-hibernation-setup b/bin/omarchy-hibernation-setup index 1d4b0d1d..da4629df 100755 --- a/bin/omarchy-hibernation-setup +++ b/bin/omarchy-hibernation-setup @@ -75,7 +75,7 @@ if [[ ! -f $RESUME_DROP_IN ]]; then RESUME_DEVICE=$(findmnt -no SOURCE -T "$SWAP_FILE" | sed 's/\[.*\]//') RESUME_OFFSET=$(btrfs inspect-internal map-swapfile -r "$SWAP_FILE") sudo mkdir -p /etc/limine-entry-tool.d - echo "KERNEL_CMDLINE[default]+=\"resume=$RESUME_DEVICE resume_offset=$RESUME_OFFSET\"" | sudo tee "$RESUME_DROP_IN" >/dev/null + echo "KERNEL_CMDLINE[default]+=\" resume=$RESUME_DEVICE resume_offset=$RESUME_OFFSET\"" | sudo tee "$RESUME_DROP_IN" >/dev/null fi # Use ACPI alarm for RTC wakeup on s2idle systems (needed for suspend-then-hibernate) @@ -84,7 +84,7 @@ if grep -q "\[s2idle\]" /sys/power/mem_sleep 2>/dev/null; then if [[ ! -f $LIMINE_DROP_IN ]]; then echo "Enabling ACPI RTC alarm for s2idle suspend" sudo mkdir -p /etc/limine-entry-tool.d - echo 'KERNEL_CMDLINE[default]+="rtc_cmos.use_acpi_alarm=1"' | sudo tee "$LIMINE_DROP_IN" >/dev/null + echo 'KERNEL_CMDLINE[default]+=" rtc_cmos.use_acpi_alarm=1"' | sudo tee "$LIMINE_DROP_IN" >/dev/null fi fi diff --git a/install/config/hardware/fix-apple-t2.sh b/install/config/hardware/fix-apple-t2.sh index 19b44a8d..67d1644c 100644 --- a/install/config/hardware/fix-apple-t2.sh +++ b/install/config/hardware/fix-apple-t2.sh @@ -30,6 +30,6 @@ EOF sudo mkdir -p /etc/limine-entry-tool.d cat </dev/null # Generated by Omarchy installer for T2 Mac support -KERNEL_CMDLINE[default]+="intel_iommu=on iommu=pt pcie_ports=compat" +KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pcie_ports=compat" EOF fi From e6489026839d120e274b0673631c4606459397c8 Mon Sep 17 00:00:00 2001 From: David Guttman Date: Tue, 3 Mar 2026 17:24:43 -0800 Subject: [PATCH 12/50] Fix try interactive selector appearing on bashrc re-source (#4877) `try init` defines a shell function named `try`. On subsequent `source ~/.bashrc`, `try init` calls the function (interactive selector) instead of the binary. Adding `command` bypasses the function and always calls the binary. Fixes #4876 Co-authored-by: Claude Opus 4.6 --- default/bash/init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/bash/init b/default/bash/init index 1c40f6c1..4c5e6e39 100644 --- a/default/bash/init +++ b/default/bash/init @@ -11,7 +11,7 @@ if command -v zoxide &> /dev/null; then fi if command -v try &> /dev/null; then - eval "$(SHELL=/bin/bash try init ~/Work/tries)" + eval "$(SHELL=/bin/bash command try init ~/Work/tries)" fi if command -v fzf &> /dev/null; then From 9b8eee7372ff4763d1ba61de5d3f967383713a38 Mon Sep 17 00:00:00 2001 From: Mridul Agarwal Date: Wed, 4 Mar 2026 03:28:38 +0200 Subject: [PATCH 13/50] add aur notice for nordvpn (#4888) Co-authored-by: Mrid22 --- bin/omarchy-menu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 6c697a31..c75d321c 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -308,7 +308,7 @@ show_install_menu() { } show_install_service_menu() { - case $(menu "Install" " Dropbox\n Tailscale\n󱇱 NordVPN\n󰟵 Bitwarden\n Chromium Account") in + case $(menu "Install" " Dropbox\n Tailscale\n󱇱 NordVPN [AUR]\n󰟵 Bitwarden\n Chromium Account") in *Dropbox*) present_terminal omarchy-install-dropbox ;; *Tailscale*) present_terminal omarchy-install-tailscale ;; *NordVPN*) present_terminal omarchy-install-nordvpn ;; From 20b2be248e3415eef8abe0685cc5697a22ddc466 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 4 Mar 2026 09:46:30 -0400 Subject: [PATCH 14/50] Ensure wayfreeze-git is also removed if it's still there Closes #4859 --- migrations/1762156000.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrations/1762156000.sh b/migrations/1762156000.sh index 42b82248..266daf38 100644 --- a/migrations/1762156000.sh +++ b/migrations/1762156000.sh @@ -1,3 +1,3 @@ echo "Drop wayfreeze as hyprpicker replaces its function" -omarchy-pkg-drop wayfreeze \ No newline at end of file +omarchy-pkg-drop wayfreeze-git wayfreeze From 7e69c87f754e454c29500961287b91ebb5c285c9 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 5 Mar 2026 11:44:55 -0400 Subject: [PATCH 15/50] Ensure mise activates the shims To make sure mise shims are right for the tmux layout commands --- config/uwsm/env | 2 +- default/bash/init | 2 +- migrations/1772632144.sh | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 migrations/1772632144.sh diff --git a/config/uwsm/env b/config/uwsm/env index b988bc29..ee2b1500 100644 --- a/config/uwsm/env +++ b/config/uwsm/env @@ -8,4 +8,4 @@ export PATH=$OMARCHY_PATH/bin:$PATH source ~/.config/uwsm/default # Activate mise if present on the system -omarchy-cmd-present mise && eval "$(mise activate bash)" +omarchy-cmd-present mise && eval "$(mise activate bash --shims)" diff --git a/default/bash/init b/default/bash/init index 4c5e6e39..e4b501f2 100644 --- a/default/bash/init +++ b/default/bash/init @@ -1,5 +1,5 @@ if command -v mise &> /dev/null; then - eval "$(mise activate bash)" + eval "$(mise activate bash --shims)" fi if command -v starship &> /dev/null; then diff --git a/migrations/1772632144.sh b/migrations/1772632144.sh new file mode 100644 index 00000000..2cfbd84c --- /dev/null +++ b/migrations/1772632144.sh @@ -0,0 +1,7 @@ +echo "Use mise shims in ~/.config/uwsm/env" + +UWSM_ENV="$HOME/.config/uwsm/env" + +if [[ -f $UWSM_ENV ]] && grep -q 'mise activate bash)' "$UWSM_ENV"; then + sed -i 's/mise activate bash)/mise activate bash --shims)/g' "$UWSM_ENV" +fi From 2efc43762ac50eb09a47a3e029d8ddcdb2ccefd2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 5 Mar 2026 11:50:32 -0400 Subject: [PATCH 16/50] Make tmux window named after cwd --- default/bash/aliases | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/default/bash/aliases b/default/bash/aliases index 39f4378a..398771ee 100644 --- a/default/bash/aliases +++ b/default/bash/aliases @@ -12,12 +12,22 @@ alias eff='$EDITOR "$(ff)"' if command -v zoxide &> /dev/null; then alias cd="zd" zd() { - if [ $# -eq 0 ]; then - builtin cd ~ && return - elif [ -d "$1" ]; then - builtin cd "$1" + if (( $# == 0 )); then + builtin cd ~ || return + elif [[ -d $1 ]]; then + builtin cd "$1" || return else - z "$@" && printf "\U000F17A9 " && pwd || echo "Error: Directory not found" + if ! z "$@"; then + echo "Error: Directory not found" + return 1 + fi + + printf "\U000F17A9 " + pwd + fi + + if [[ -n $TMUX ]]; then + tmux rename-window "$(basename "$PWD")" fi } fi From 725054a4780411f01c43c64e9925726c1c85a213 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 5 Mar 2026 11:57:36 -0400 Subject: [PATCH 17/50] Make it clear when you've zoomed in on a pane --- config/tmux/tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index 2b0ddb0d..ea6576fb 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -81,7 +81,7 @@ set -g window-status-separator "" # Theme set -g status-style "bg=default,fg=default" set -g status-left "#[fg=black,bg=blue,bold] #S #[bg=default] " -set -g status-right "#[fg=blue]#{?client_prefix,PREFIX ,}#[fg=brightblack]#h " +set -g status-right "#[fg=blue]#{?client_prefix,PREFIX ,}#{?window_zoomed_flag,ZOOM ,}#[fg=brightblack]#h " set -g window-status-format "#[fg=brightblack] #I:#W " set -g window-status-current-format "#[fg=blue,bold] #I:#W " set -g pane-border-style "fg=brightblack" From d3285f6b00b70da7b3e5a5d6cd005876fd20fd15 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 5 Mar 2026 13:42:55 -0400 Subject: [PATCH 18/50] Can't do shim activation here without overwriting the ./bin path addition But not necessary since uwsm/env handles the underlying problem --- default/bash/init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/bash/init b/default/bash/init index e4b501f2..4c5e6e39 100644 --- a/default/bash/init +++ b/default/bash/init @@ -1,5 +1,5 @@ if command -v mise &> /dev/null; then - eval "$(mise activate bash --shims)" + eval "$(mise activate bash)" fi if command -v starship &> /dev/null; then From b50ec21442c4b1fd60bc8671646ddfd500fb2551 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 5 Mar 2026 14:16:50 -0400 Subject: [PATCH 19/50] Toggle existing omarchy menu if already open --- bin/omarchy-menu | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index c75d321c..ef083dae 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -19,6 +19,13 @@ back_to() { fi } +toggle_existing_menu() { + if pgrep -f "walker.*--dmenu" > /dev/null; then + walker --close > /dev/null 2>&1 + exit 0 + fi +} + menu() { local prompt="$1" local options="$2" @@ -619,6 +626,8 @@ go_to_menu() { USER_EXTENSIONS="$HOME/.config/omarchy/extensions/menu.sh" [[ -f $USER_EXTENSIONS ]] && source "$USER_EXTENSIONS" +toggle_existing_menu + if [[ -n $1 ]]; then BACK_TO_EXIT=true go_to_menu "$1" From 6ad5d225f8bfc38d26850af9d584c4f69d2a2ee8 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 5 Mar 2026 18:25:48 -0400 Subject: [PATCH 20/50] Remap Copilot key to Omarchy Menu key --- default/makima/AT Translated Set 2 keyboard.toml | 5 +++++ install/config/all.sh | 1 + install/config/makima.sh | 3 +++ install/omarchy-base.packages | 1 + migrations/1772734610.sh | 4 ++++ 5 files changed, 14 insertions(+) create mode 100644 default/makima/AT Translated Set 2 keyboard.toml create mode 100644 install/config/makima.sh create mode 100644 migrations/1772734610.sh diff --git a/default/makima/AT Translated Set 2 keyboard.toml b/default/makima/AT Translated Set 2 keyboard.toml new file mode 100644 index 00000000..1109d05f --- /dev/null +++ b/default/makima/AT Translated Set 2 keyboard.toml @@ -0,0 +1,5 @@ +[remap] +KEY_LEFTMETA-KEY_LEFTSHIFT-KEY_F23 = ["KEY_LEFTMETA", "KEY_LEFTALT", "KEY_SPACE"] + +[settings] +GRAB_DEVICE = "true" diff --git a/install/config/all.sh b/install/config/all.sh index 9e18b5b1..fca091c9 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -20,6 +20,7 @@ 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/input-group.sh +run_logged $OMARCHY_INSTALL/config/makima.sh run_logged $OMARCHY_INSTALL/config/omarchy-ai-skill.sh run_logged $OMARCHY_INSTALL/config/kernel-modules-hook.sh run_logged $OMARCHY_INSTALL/config/powerprofilesctl-rules.sh diff --git a/install/config/makima.sh b/install/config/makima.sh new file mode 100644 index 00000000..ed4c552f --- /dev/null +++ b/install/config/makima.sh @@ -0,0 +1,3 @@ +# Remap Copilot key (Super+Shift+F23) to Super+Alt+Space (Omarchy Menu) using makima +mkdir -p "$HOME/.config/makima" +cp "$OMARCHY_PATH/default/makima/AT Translated Set 2 keyboard.toml" "$HOME/.config/makima/" diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index ebcddb72..2974fbde 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -75,6 +75,7 @@ libreoffice-fresh llvm localsend luarocks +makima-bin mako man-db mariadb-libs diff --git a/migrations/1772734610.sh b/migrations/1772734610.sh new file mode 100644 index 00000000..18c40409 --- /dev/null +++ b/migrations/1772734610.sh @@ -0,0 +1,4 @@ +echo "Remap Copilot key to Omarchy Menu using makima" + +omarchy-pkg-add makima-bin +source $OMARCHY_PATH/install/config/makima.sh From fc79da14bb866e80d9d225415fa2c5f7526a3821 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 6 Mar 2026 20:51:58 +0100 Subject: [PATCH 21/50] Fix panther lake adjustments --- .../config/hardware/fix-intel-panther-lake-display.sh | 9 ++++++++- install/login/limine-snapper.sh | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/install/config/hardware/fix-intel-panther-lake-display.sh b/install/config/hardware/fix-intel-panther-lake-display.sh index 5b179585..00d0e249 100644 --- a/install/config/hardware/fix-intel-panther-lake-display.sh +++ b/install/config/hardware/fix-intel-panther-lake-display.sh @@ -3,9 +3,16 @@ if lspci | grep -iE 'vga|3d|display' | grep -qi 'panther lake'; then echo "Detected Intel Panther Lake GPU, applying display fixes..." + PANTHER_LAKE_CMDLINE='KERNEL_CMDLINE[default]+=" xe.enable_psr=0 xe.enable_panel_replay=0 xe.enable_fbc=0 xe.enable_dc=0"' + sudo mkdir -p /etc/limine-entry-tool.d cat </dev/null # Fix Panther Lake display issues by disabling Xe power-saving features -KERNEL_CMDLINE[default]+=" xe.enable_psr=0 xe.enable_panel_replay=0 xe.enable_fbc=0 xe.enable_dc=0" +$PANTHER_LAKE_CMDLINE EOF + + # Also append to /etc/default/limine if it exists, since it overrides drop-in configs + if [ -f /etc/default/limine ] && ! grep -q 'xe.enable_psr' /etc/default/limine; then + echo "$PANTHER_LAKE_CMDLINE" | sudo tee -a /etc/default/limine >/dev/null + fi fi diff --git a/install/login/limine-snapper.sh b/install/login/limine-snapper.sh index 734e2c48..c91815dc 100644 --- a/install/login/limine-snapper.sh +++ b/install/login/limine-snapper.sh @@ -32,6 +32,11 @@ EOF sudo cp $OMARCHY_PATH/default/limine/default.conf /etc/default/limine sudo sed -i "s|@@CMDLINE@@|$CMDLINE|g" /etc/default/limine + # Append any drop-in kernel cmdline configs (from hardware fix scripts, etc.) + for dropin in /etc/limine-entry-tool.d/*.conf; do + [ -f "$dropin" ] && cat "$dropin" | sudo tee -a /etc/default/limine >/dev/null + done + # UKI and EFI fallback are EFI only if [[ -z $EFI ]]; then sudo sed -i '/^ENABLE_UKI=/d; /^ENABLE_LIMINE_FALLBACK=/d' /etc/default/limine From 2a2e9086e1c87cb2673c7196df35d841ae7229e4 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 6 Mar 2026 21:58:04 +0100 Subject: [PATCH 22/50] We weren't running this for some reason! --- install/config/all.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/config/all.sh b/install/config/all.sh index fca091c9..d71e5c43 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -33,6 +33,7 @@ run_logged $OMARCHY_INSTALL/config/hardware/printer.sh 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/intel.sh run_logged $OMARCHY_INSTALL/config/hardware/vulkan.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-intel-panther-lake-display.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh From df0109369c099792e88d3329959e8e9171d524f1 Mon Sep 17 00:00:00 2001 From: Timo Hubois <46505685+timohubois@users.noreply.github.com> Date: Sat, 7 Mar 2026 19:11:26 +0100 Subject: [PATCH 23/50] Prevent LM Studio install from downgrading to legacy package (#4915) Use lmstudio-bin in the AI install menu so installs and reinstalls stay on the current LM Studio package stream instead of reverting to legacy lmstudio. --- bin/omarchy-menu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index ef083dae..f327b9f4 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -360,7 +360,7 @@ show_install_ai_menu() { *Gemini*) install "Gemini CLI" "gemini-cli" ;; *Copilot*) install "Copilot CLI" "github-copilot-cli" ;; *Cursor*) install "Cursor CLI" "cursor-cli" ;; - *Studio*) install "LM Studio" "lmstudio" ;; + *Studio*) install "LM Studio" "lmstudio-bin" ;; *Ollama*) install "Ollama" $ollama_pkg ;; *Crush*) install "Crush" "crush-bin" ;; *) show_install_menu ;; From a261819a9bc7e0016aa725d326f55aeeacd4e146 Mon Sep 17 00:00:00 2001 From: jadonwb <158523205+jadonwb@users.noreply.github.com> Date: Sat, 7 Mar 2026 12:13:18 -0600 Subject: [PATCH 24/50] Use tmux native method of renaming windows (#4910) * Use tmux native method of renaming windows This uses tmux's built in method of renaming windows, and it even works with pane switching rather than relying on cd to change the window name * Update config/tmux/tmux.conf I agree with the copilot suggestion Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Jadon Brutcher Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- config/tmux/tmux.conf | 2 ++ default/bash/aliases | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index ea6576fb..05ec10e9 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -77,6 +77,8 @@ set -g status-interval 5 set -g status-left-length 30 set -g status-right-length 50 set -g window-status-separator "" +set -gw automatic-rename on +set -gw automatic-rename-format '#{b:pane_current_path}' # Theme set -g status-style "bg=default,fg=default" diff --git a/default/bash/aliases b/default/bash/aliases index 398771ee..667912a8 100644 --- a/default/bash/aliases +++ b/default/bash/aliases @@ -25,10 +25,6 @@ if command -v zoxide &> /dev/null; then printf "\U000F17A9 " pwd fi - - if [[ -n $TMUX ]]; then - tmux rename-window "$(basename "$PWD")" - fi } fi From 8f804bcba46d7e151bf0992d224562696d1604ef Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 7 Mar 2026 19:16:34 +0100 Subject: [PATCH 25/50] Add automatic-rename settings to tmux configuration --- migrations/1772907198.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 migrations/1772907198.sh diff --git a/migrations/1772907198.sh b/migrations/1772907198.sh new file mode 100644 index 00000000..640d8733 --- /dev/null +++ b/migrations/1772907198.sh @@ -0,0 +1,11 @@ +echo "Add automatic-rename settings to tmux configuration" + +if [[ -f ~/.config/tmux/tmux.conf ]]; then + if ! grep -q "set -gw automatic-rename on" ~/.config/tmux/tmux.conf; then + sed -i '/set -g window-status-separator ""/a\ +set -gw automatic-rename on\ +set -gw automatic-rename-format '\''#{b:pane_current_path}'\'' \ +' ~/.config/tmux/tmux.conf + omarchy-restart-tmux + fi +fi From 04054c95690613c0112ea0715ce8f3960ce33069 Mon Sep 17 00:00:00 2001 From: justin Date: Sat, 7 Mar 2026 20:21:05 +0200 Subject: [PATCH 26/50] fix: small localsend window (#4923) * feat(hypr): add window size rule for LocalSend * chore(hypr): remove Share class from localsend window rule --- default/hypr/apps/localsend.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/default/hypr/apps/localsend.conf b/default/hypr/apps/localsend.conf index c1741692..c4f6a552 100644 --- a/default/hypr/apps/localsend.conf +++ b/default/hypr/apps/localsend.conf @@ -1,3 +1,4 @@ # Float LocalSend and fzf file picker windowrule = float on, match:class (Share|localsend) windowrule = center on, match:class (Share|localsend) +windowrule = size 1100 700, match:class localsend From 2d859e25b58aae620a67f2763ccc9c22577d6868 Mon Sep 17 00:00:00 2001 From: Miguel P Date: Sat, 7 Mar 2026 12:28:39 -0600 Subject: [PATCH 27/50] add animation to the scratchpad (#4900) --- default/hypr/looknfeel.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index 1decf433..cd3417bd 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -103,6 +103,7 @@ animations { animation = fadeLayersIn, 1, 1.79, almostLinear animation = fadeLayersOut, 1, 1.39, almostLinear animation = workspaces, 0, 0, ease + animation = specialWorkspace, 1, 4, easeOutQuint, slidevert } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more From 3da14f892fe2c05d5a0c50335dcf64f1eea81db4 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Sat, 7 Mar 2026 19:46:17 +0100 Subject: [PATCH 28/50] Fix nvim transparency to preserve foreground colors (#4844) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix nvim transparency to preserve foreground colors The old approach used `vim.api.nvim_set_hl(0, name, { bg = "none" })` which replaces the entire highlight definition, wiping out foreground and other attributes. This breaks snacks.nvim's GitHub integration (gh_pr/gh_issue pickers) which reads the foreground color from Normal and NormalFloat at module load time, gets nil, and crashes in Snacks.util.blend(). The fix uses nvim_get_hl to fetch existing attributes first, removes only bg, then sets the highlight back — preserving all other attributes. * Drop fallback that reintroduces the highlight-wiping bug If nvim_get_hl fails for a group, skip it rather than falling back to the old { bg = "none" } approach that clears all attributes. --- migrations/1772389838.sh | 67 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 migrations/1772389838.sh diff --git a/migrations/1772389838.sh b/migrations/1772389838.sh new file mode 100644 index 00000000..8a98a3ea --- /dev/null +++ b/migrations/1772389838.sh @@ -0,0 +1,67 @@ +echo "Fix nvim transparency to preserve highlight foreground colors" + +TRANSPARENCY_FILE="$HOME/.config/nvim/plugin/after/transparency.lua" + +if [[ -f "$TRANSPARENCY_FILE" ]]; then + cat > "$TRANSPARENCY_FILE" << 'EOF' +-- Make highlight groups transparent while preserving their other attributes +local function make_transparent(name) + local ok, hl = pcall(vim.api.nvim_get_hl, 0, { name = name, link = false }) + if ok then + hl.bg = nil + vim.api.nvim_set_hl(0, name, hl) + end +end + +local groups = { + -- transparent background + "Normal", + "NormalFloat", + "FloatBorder", + "Pmenu", + "Terminal", + "EndOfBuffer", + "FoldColumn", + "Folded", + "SignColumn", + "LineNr", + "CursorLineNr", + "NormalNC", + "WhichKeyFloat", + "TelescopeBorder", + "TelescopeNormal", + "TelescopePromptBorder", + "TelescopePromptTitle", + -- neotree + "NeoTreeNormal", + "NeoTreeNormalNC", + "NeoTreeVertSplit", + "NeoTreeWinSeparator", + "NeoTreeEndOfBuffer", + -- nvim-tree + "NvimTreeNormal", + "NvimTreeVertSplit", + "NvimTreeEndOfBuffer", + -- notify + "NotifyINFOBody", + "NotifyERRORBody", + "NotifyWARNBody", + "NotifyTRACEBody", + "NotifyDEBUGBody", + "NotifyINFOTitle", + "NotifyERRORTitle", + "NotifyWARNTitle", + "NotifyTRACETitle", + "NotifyDEBUGTitle", + "NotifyINFOBorder", + "NotifyERRORBorder", + "NotifyWARNBorder", + "NotifyTRACEBorder", + "NotifyDEBUGBorder", +} + +for _, name in ipairs(groups) do + make_transparent(name) +end +EOF +fi From 5a7008c01b005bc75474cbc4134e526151fc9ade Mon Sep 17 00:00:00 2001 From: Sergei Andronov Date: Sat, 7 Mar 2026 19:53:35 +0100 Subject: [PATCH 29/50] Install intel-media-driver for Arc 130T/140T (intel 255H) (#4922) * Install intel-media-driver for 130T/140T (intel 255H) * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: David Heinemeier Hansson Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- install/config/hardware/intel.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/config/hardware/intel.sh b/install/config/hardware/intel.sh index f1c375d7..6c2b8564 100644 --- a/install/config/hardware/intel.sh +++ b/install/config/hardware/intel.sh @@ -1,8 +1,8 @@ # This installs hardware video acceleration for Intel GPUs # Check if we have an Intel GPU at all if INTEL_GPU=$(lspci | grep -iE 'vga|3d|display' | grep -i 'intel'); then - # HD Graphics and newer uses intel-media-driver - if [[ ${INTEL_GPU,,} =~ "hd graphics"|"xe"|"iris" ]]; then + # HD Graphics / Iris / Xe / Arc use intel-media-driver + if [[ ${INTEL_GPU,,} =~ "hd graphics"|"xe"|"iris"|"arc" ]]; then omarchy-pkg-add intel-media-driver elif [[ ${INTEL_GPU,,} =~ "gma" ]]; then # Older generations from 2008 to ~2014-2017 use libva-intel-driver From c9592e15fd6a1d03475b8d82f4e1b53254b2f79c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 7 Mar 2026 20:00:44 +0100 Subject: [PATCH 30/50] Version bump coming --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 47b322c9..4d9d11cf 100644 --- a/version +++ b/version @@ -1 +1 @@ -3.4.1 +3.4.2 From fd03d571102dbf4b5d5b0184b13b91cc93254673 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 7 Mar 2026 22:01:21 +0100 Subject: [PATCH 31/50] Fix the makima installation --- install/config/makima.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/install/config/makima.sh b/install/config/makima.sh index ed4c552f..bee64136 100644 --- a/install/config/makima.sh +++ b/install/config/makima.sh @@ -1,3 +1,14 @@ # Remap Copilot key (Super+Shift+F23) to Super+Alt+Space (Omarchy Menu) using makima mkdir -p "$HOME/.config/makima" cp "$OMARCHY_PATH/default/makima/AT Translated Set 2 keyboard.toml" "$HOME/.config/makima/" + +# Create systemd override with correct user and config path +sudo mkdir -p /etc/systemd/system/makima.service.d +sudo tee /etc/systemd/system/makima.service.d/override.conf > /dev/null </dev/null || true From 71be8833383125c064e04c420cc10c0a63da9493 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 7 Mar 2026 22:32:37 +0100 Subject: [PATCH 32/50] Update default/bash/fns/worktrees Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- default/bash/fns/worktrees | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/bash/fns/worktrees b/default/bash/fns/worktrees index 05fb5638..435784be 100644 --- a/default/bash/fns/worktrees +++ b/default/bash/fns/worktrees @@ -26,7 +26,7 @@ gd() { root="${worktree%%--*}" branch="${worktree#*--}" - # Protect against accidentially nuking a non-worktree directory + # Protect against accidentally nuking a non-worktree directory if [[ "$root" != "$worktree" ]]; then cd "../$root" git worktree remove "$worktree" --force From 3aff0017a166ba7f3446448a95c2838a266eef3d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 11:09:56 +0100 Subject: [PATCH 33/50] Only update plocate db on power to prevent hangs after sleep --- install/config/all.sh | 1 + install/config/plocate-ac-only.sh | 3 +++ migrations/1772964511.sh | 3 +++ 3 files changed, 7 insertions(+) create mode 100644 install/config/plocate-ac-only.sh create mode 100644 migrations/1772964511.sh diff --git a/install/config/all.sh b/install/config/all.sh index d71e5c43..14480206 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -25,6 +25,7 @@ run_logged $OMARCHY_INSTALL/config/omarchy-ai-skill.sh run_logged $OMARCHY_INSTALL/config/kernel-modules-hook.sh run_logged $OMARCHY_INSTALL/config/powerprofilesctl-rules.sh run_logged $OMARCHY_INSTALL/config/wifi-powersave-rules.sh +run_logged $OMARCHY_INSTALL/config/plocate-ac-only.sh run_logged $OMARCHY_INSTALL/config/hardware/network.sh run_logged $OMARCHY_INSTALL/config/hardware/set-wireless-regdom.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-fkeys.sh diff --git a/install/config/plocate-ac-only.sh b/install/config/plocate-ac-only.sh new file mode 100644 index 00000000..31cd088f --- /dev/null +++ b/install/config/plocate-ac-only.sh @@ -0,0 +1,3 @@ +sudo install -d /etc/systemd/system/plocate-updatedb.service.d +printf '%s\n' '[Unit]' 'ConditionACPower=true' | sudo tee /etc/systemd/system/plocate-updatedb.service.d/ac-only.conf >/dev/null +sudo systemctl daemon-reload diff --git a/migrations/1772964511.sh b/migrations/1772964511.sh new file mode 100644 index 00000000..0de1dedb --- /dev/null +++ b/migrations/1772964511.sh @@ -0,0 +1,3 @@ +echo "Only run plocate indexing on AC power to prevent hangs after sleep" + +source $OMARCHY_PATH/install/config/plocate-ac-only.sh From 5f2d12f9e7b015e491d446b4233a22c94536a1cf Mon Sep 17 00:00:00 2001 From: Alex Budkar Date: Sun, 8 Mar 2026 05:12:54 -0700 Subject: [PATCH 34/50] Update jetbrains.conf to capture find windows with singular space title (#4909) Some find windows like "find everywhere" has initial title that consists of a singular space. Update title matching expression to capture that case as well. --- default/hypr/apps/jetbrains.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/hypr/apps/jetbrains.conf b/default/hypr/apps/jetbrains.conf index 5b73bce4..822e676e 100644 --- a/default/hypr/apps/jetbrains.conf +++ b/default/hypr/apps/jetbrains.conf @@ -14,7 +14,7 @@ windowrule { windowrule { name = jetbrains-popup match:class = ^(jetbrains-.*) - match:title = ^()$ + match:title = ^(| )$ match:float = 1 tag = +jetbrains center = on From e58ac44a0d2d13d0cf46549fbc2a55e85435483e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 13:23:35 +0100 Subject: [PATCH 35/50] Don't leak local var into global space --- default/bash/fns/worktrees | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/bash/fns/worktrees b/default/bash/fns/worktrees index 05fb5638..1dcd6353 100644 --- a/default/bash/fns/worktrees +++ b/default/bash/fns/worktrees @@ -17,7 +17,7 @@ ga() { # Remove worktree and branch from within active worktree directory. gd() { if gum confirm "Remove worktree and branch?"; then - local cwd base branch root + local cwd base branch root worktree cwd="$(pwd)" worktree="$(basename "$cwd")" From 3306c428ddb9074e3f397f2615660fd49ee3e39a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 13:23:42 +0100 Subject: [PATCH 36/50] Spelling --- default/bash/fns/worktrees | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/bash/fns/worktrees b/default/bash/fns/worktrees index 1dcd6353..23203ab6 100644 --- a/default/bash/fns/worktrees +++ b/default/bash/fns/worktrees @@ -26,7 +26,7 @@ gd() { root="${worktree%%--*}" branch="${worktree#*--}" - # Protect against accidentially nuking a non-worktree directory + # Protect against accidentally nuking a non-worktree directory if [[ "$root" != "$worktree" ]]; then cd "../$root" git worktree remove "$worktree" --force From 681540490e09be0fdccb46cb3ddc90597de3e1d5 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 13:24:01 +0100 Subject: [PATCH 37/50] Fix regexp --- install/config/hardware/intel.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/hardware/intel.sh b/install/config/hardware/intel.sh index 6c2b8564..fde344ec 100644 --- a/install/config/hardware/intel.sh +++ b/install/config/hardware/intel.sh @@ -2,7 +2,7 @@ # Check if we have an Intel GPU at all if INTEL_GPU=$(lspci | grep -iE 'vga|3d|display' | grep -i 'intel'); then # HD Graphics / Iris / Xe / Arc use intel-media-driver - if [[ ${INTEL_GPU,,} =~ "hd graphics"|"xe"|"iris"|"arc" ]]; then + if [[ ${INTEL_GPU,,} =~ (hd\ graphics|xe|iris|arc) ]]; then omarchy-pkg-add intel-media-driver elif [[ ${INTEL_GPU,,} =~ "gma" ]]; then # Older generations from 2008 to ~2014-2017 use libva-intel-driver From 631bdec159dc286ee00ca3c855fb1c4c147c856c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 13:25:07 +0100 Subject: [PATCH 38/50] Prevent extra CR --- migrations/1772907198.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrations/1772907198.sh b/migrations/1772907198.sh index 640d8733..82f21fe0 100644 --- a/migrations/1772907198.sh +++ b/migrations/1772907198.sh @@ -4,7 +4,7 @@ if [[ -f ~/.config/tmux/tmux.conf ]]; then if ! grep -q "set -gw automatic-rename on" ~/.config/tmux/tmux.conf; then sed -i '/set -g window-status-separator ""/a\ set -gw automatic-rename on\ -set -gw automatic-rename-format '\''#{b:pane_current_path}'\'' \ +set -gw automatic-rename-format '\''#{b:pane_current_path}'\''\ ' ~/.config/tmux/tmux.conf omarchy-restart-tmux fi From 462575c880e127f00d3a5bbb79100f429efcf641 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 13:25:44 +0100 Subject: [PATCH 39/50] Fix worktree removal --- default/bash/fns/worktrees | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/bash/fns/worktrees b/default/bash/fns/worktrees index 23203ab6..5fc1063a 100644 --- a/default/bash/fns/worktrees +++ b/default/bash/fns/worktrees @@ -29,7 +29,7 @@ gd() { # Protect against accidentally nuking a non-worktree directory if [[ "$root" != "$worktree" ]]; then cd "../$root" - git worktree remove "$worktree" --force + git worktree remove "$cwd" --force || return 1 git branch -D "$branch" fi fi From b982e1c98612640a655e3fc5cc633cb29e2b1786 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 15:41:00 +0100 Subject: [PATCH 40/50] Ensure we also catch the uhd graphics on the Framework 12 --- install/config/hardware/intel.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/hardware/intel.sh b/install/config/hardware/intel.sh index fde344ec..41e421a7 100644 --- a/install/config/hardware/intel.sh +++ b/install/config/hardware/intel.sh @@ -2,7 +2,7 @@ # Check if we have an Intel GPU at all if INTEL_GPU=$(lspci | grep -iE 'vga|3d|display' | grep -i 'intel'); then # HD Graphics / Iris / Xe / Arc use intel-media-driver - if [[ ${INTEL_GPU,,} =~ (hd\ graphics|xe|iris|arc) ]]; then + if [[ ${INTEL_GPU,,} =~ (hd\ graphics|uhd\ graphics|xe|iris|arc) ]]; then omarchy-pkg-add intel-media-driver elif [[ ${INTEL_GPU,,} =~ "gma" ]]; then # Older generations from 2008 to ~2014-2017 use libva-intel-driver From c4f57beba214855aae38fac9b17b9d6e281630c9 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 15:52:31 +0100 Subject: [PATCH 41/50] Show better with a preview notification that'll open recording on invocation --- bin/omarchy-cmd-screenrecord | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index 3ee3d877..93e143a9 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -135,7 +135,17 @@ stop_screenrecording() { notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000 else trim_first_frame - notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000 + local filename=$(cat "$RECORDING_FILE" 2>/dev/null) + local preview="${filename%.mp4}-preview.png" + + # Generate a preview thumbnail from the first frame + ffmpeg -y -i "$filename" -ss 00:00:00.1 -vframes 1 -q:v 2 "$preview" -loglevel quiet 2>/dev/null + + ( + ACTION=$(notify-send "Screen recording saved" "Open with Super + Alt + , (or click this)" -t 10000 -i "${preview:-$filename}" -A "default=open") + [[ $ACTION == "default" ]] && mpv "$filename" + rm -f "$preview" + ) & fi rm -f "$RECORDING_FILE" From 549cd59e48445c1f0e0810e3344ccdbda21411ed Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 15:52:35 +0100 Subject: [PATCH 42/50] Style --- bin/omarchy-cmd-screenshot | 45 ++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/bin/omarchy-cmd-screenshot b/bin/omarchy-cmd-screenshot index 90555a23..16060e91 100755 --- a/bin/omarchy-cmd-screenshot +++ b/bin/omarchy-cmd-screenshot @@ -65,27 +65,30 @@ get_rectangles() { # Select based on mode case "$MODE" in - region) - hyprpicker -r -z >/dev/null 2>&1 & PID=$! - sleep .1 - SELECTION=$(slurp 2>/dev/null) - kill $PID 2>/dev/null - ;; - windows) - hyprpicker -r -z >/dev/null 2>&1 & PID=$! - sleep .1 - SELECTION=$(get_rectangles | slurp -r 2>/dev/null) - kill $PID 2>/dev/null - ;; - fullscreen) - SELECTION=$(hyprctl monitors -j | jq -r "${JQ_MONITOR_GEO} .[] | select(.focused == true) | format_geo") - ;; - smart|*) - RECTS=$(get_rectangles) - hyprpicker -r -z >/dev/null 2>&1 & PID=$! - sleep .1 - SELECTION=$(echo "$RECTS" | slurp 2>/dev/null) - kill $PID 2>/dev/null +region) + hyprpicker -r -z >/dev/null 2>&1 & + PID=$! + sleep .1 + SELECTION=$(slurp 2>/dev/null) + kill $PID 2>/dev/null + ;; +windows) + hyprpicker -r -z >/dev/null 2>&1 & + PID=$! + sleep .1 + SELECTION=$(get_rectangles | slurp -r 2>/dev/null) + kill $PID 2>/dev/null + ;; +fullscreen) + SELECTION=$(hyprctl monitors -j | jq -r "${JQ_MONITOR_GEO} .[] | select(.focused == true) | format_geo") + ;; +smart | *) + RECTS=$(get_rectangles) + hyprpicker -r -z >/dev/null 2>&1 & + PID=$! + sleep .1 + SELECTION=$(echo "$RECTS" | slurp 2>/dev/null) + kill $PID 2>/dev/null # If the selection 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 From 9746370b622c7a9f2be02b417d52b901d5a8fbdb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 15:53:42 +0100 Subject: [PATCH 43/50] Default to full screen capture for hyprland preview picker --- config/hyprland-preview-share-picker/config.yaml | 2 +- migrations/1772981555.sh | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 migrations/1772981555.sh diff --git a/config/hyprland-preview-share-picker/config.yaml b/config/hyprland-preview-share-picker/config.yaml index 6b939570..740fc7ae 100644 --- a/config/hyprland-preview-share-picker/config.yaml +++ b/config/hyprland-preview-share-picker/config.yaml @@ -3,7 +3,7 @@ # relative paths are resolved relative to the location of the config file stylesheets: ["../omarchy/current/theme/hyprland-preview-share-picker.css"] # default page selected when the picker is opened -default_page: windows +default_page: outputs window: # height of the application window diff --git a/migrations/1772981555.sh b/migrations/1772981555.sh new file mode 100644 index 00000000..d843150f --- /dev/null +++ b/migrations/1772981555.sh @@ -0,0 +1,7 @@ +echo "Update hyprland-preview-share-picker config to default to outputs page" + +CONFIG_FILE=~/.config/hyprland-preview-share-picker/config.yaml + +if [[ -f $CONFIG_FILE ]]; then + sed -i 's/^default_page: windows$/default_page: outputs/' "$CONFIG_FILE" +fi From dfc270f79a76248356275d3ec18ba59c5e93f89c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 15:56:24 +0100 Subject: [PATCH 44/50] Install Intel GPU hardware acceleration drivers if missing --- migrations/1772981757.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 migrations/1772981757.sh diff --git a/migrations/1772981757.sh b/migrations/1772981757.sh new file mode 100644 index 00000000..145938b6 --- /dev/null +++ b/migrations/1772981757.sh @@ -0,0 +1,5 @@ +echo "Install Intel GPU hardware acceleration drivers if missing" + +if lspci | grep -iE 'vga|3d|display' | grep -qi 'intel'; then + source "$OMARCHY_PATH/install/config/hardware/intel.sh" +fi From bc56a8bbadbe0b44de735a3225bd983f1ad60dac Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 16:30:50 +0100 Subject: [PATCH 45/50] Add omarchy-restart-makima For when you change keymappings --- bin/omarchy-restart-makima | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 bin/omarchy-restart-makima diff --git a/bin/omarchy-restart-makima b/bin/omarchy-restart-makima new file mode 100755 index 00000000..aa6ffa39 --- /dev/null +++ b/bin/omarchy-restart-makima @@ -0,0 +1,5 @@ +#!/bin/bash + +# Restart makima - key remapping service for remapping Copilot key to Omarchy Menu + +sudo systemctl restart makima From 5663fae835957797aa1b9254021e323be397e207 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 16:35:49 +0100 Subject: [PATCH 46/50] Explain how to have changes take affect --- default/makima/AT Translated Set 2 keyboard.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/default/makima/AT Translated Set 2 keyboard.toml b/default/makima/AT Translated Set 2 keyboard.toml index 1109d05f..895e454f 100644 --- a/default/makima/AT Translated Set 2 keyboard.toml +++ b/default/makima/AT Translated Set 2 keyboard.toml @@ -1,3 +1,5 @@ +# Run omarchy-restart-makima after any changes + [remap] KEY_LEFTMETA-KEY_LEFTSHIFT-KEY_F23 = ["KEY_LEFTMETA", "KEY_LEFTALT", "KEY_SPACE"] From 169ef6ec9eb868c619ac073230f35776bc119018 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 17:01:33 +0100 Subject: [PATCH 47/50] Time has to be updated before git repo is pulled Or SSL certificate will complain --- bin/omarchy-update | 3 ++- bin/omarchy-update-perform | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/omarchy-update b/bin/omarchy-update index 086e78c9..20238574 100755 --- a/bin/omarchy-update +++ b/bin/omarchy-update @@ -5,7 +5,8 @@ set -e trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR if [[ $1 == "-y" ]] || omarchy-update-confirm; then - omarchy-snapshot create || (( $? == 127 )) + omarchy-snapshot create || (($? == 127)) + omarchy-update-time omarchy-update-git omarchy-update-perform fi diff --git a/bin/omarchy-update-perform b/bin/omarchy-update-perform index 5cf6e329..9c22adf2 100755 --- a/bin/omarchy-update-perform +++ b/bin/omarchy-update-perform @@ -3,14 +3,13 @@ set -e # Ensure screensaver/sleep doesn't set in during updates -hyprctl dispatch tagwindow +noidle &> /dev/null || true +hyprctl dispatch tagwindow +noidle &>/dev/null || true # Capture update logs (CLICOLOR_FORCE keeps gum styled when stdout is piped through tee) export CLICOLOR_FORCE=1 exec > >(tee "/tmp/omarchy-update.log") 2>&1 # Perform all update steps -omarchy-update-time omarchy-update-keyring omarchy-update-available-reset omarchy-update-system-pkgs @@ -24,4 +23,4 @@ omarchy-update-analyze-logs omarchy-update-restart # Re-enable screensaver/sleep after updates -hyprctl dispatch tagwindow -- -noidle &> /dev/null || true +hyprctl dispatch tagwindow -- -noidle &>/dev/null || true From 07f4e53701e5938258f30a34dd99b0d9426d433f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 17:02:31 +0100 Subject: [PATCH 48/50] Better output --- bin/omarchy-update-time | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-update-time b/bin/omarchy-update-time index 14fc8b6f..bc53a651 100755 --- a/bin/omarchy-update-time +++ b/bin/omarchy-update-time @@ -1,4 +1,4 @@ #!/bin/bash -echo "Updating time..." +echo -e "\e[32mUpdate time...\e[0m" sudo systemctl restart systemd-timesyncd From e0bd449c71d50864e9e4011cfda4068caaf752fc Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 17:03:06 +0100 Subject: [PATCH 49/50] Presentation --- bin/omarchy-update-time | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-update-time b/bin/omarchy-update-time index bc53a651..4d333f9a 100755 --- a/bin/omarchy-update-time +++ b/bin/omarchy-update-time @@ -1,4 +1,4 @@ #!/bin/bash -echo -e "\e[32mUpdate time...\e[0m" +echo -e "\e[32mUpdate time\e[0m\n" sudo systemctl restart systemd-timesyncd From ef93f6356c5ea0fab17cbf94a470a7f3a4d40695 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 8 Mar 2026 17:04:12 +0100 Subject: [PATCH 50/50] Move to git update to ensure it's not lost --- bin/omarchy-update | 1 - bin/omarchy-update-git | 2 ++ bin/omarchy-update-time | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-update b/bin/omarchy-update index 20238574..76fb755b 100755 --- a/bin/omarchy-update +++ b/bin/omarchy-update @@ -6,7 +6,6 @@ trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPle if [[ $1 == "-y" ]] || omarchy-update-confirm; then omarchy-snapshot create || (($? == 127)) - omarchy-update-time omarchy-update-git omarchy-update-perform fi diff --git a/bin/omarchy-update-git b/bin/omarchy-update-git index 8fef3a19..42516230 100755 --- a/bin/omarchy-update-git +++ b/bin/omarchy-update-git @@ -4,5 +4,7 @@ set -e echo -e "\e[32mUpdate Omarchy\e[0m" +omarchy-update-time + git -C $OMARCHY_PATH pull --autostash git -C $OMARCHY_PATH --no-pager diff --check || git -C $OMARCHY_PATH reset --merge diff --git a/bin/omarchy-update-time b/bin/omarchy-update-time index 4d333f9a..14fc8b6f 100755 --- a/bin/omarchy-update-time +++ b/bin/omarchy-update-time @@ -1,4 +1,4 @@ #!/bin/bash -echo -e "\e[32mUpdate time\e[0m\n" +echo "Updating time..." sudo systemctl restart systemd-timesyncd