From a7df6c09414ab548e06772a7b93415e51a9a1e4c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 10:53:47 +0200 Subject: [PATCH 01/37] Move updatedb into its own config file with better explanation --- install.sh | 7 +------ install/config/localdb.sh | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 install/config/localdb.sh diff --git a/install.sh b/install.sh index 95035ba..794aad4 100755 --- a/install.sh +++ b/install.sh @@ -38,6 +38,7 @@ source $OMARCHY_INSTALL/config/xcompose.sh source $OMARCHY_INSTALL/config/mise-ruby.sh source $OMARCHY_INSTALL/config/docker.sh source $OMARCHY_INSTALL/config/mimetypes.sh +source $OMARCHY_INSTALL/config/localdb.sh source $OMARCHY_INSTALL/config/hardware/network.sh source $OMARCHY_INSTALL/config/hardware/fix-fkeys.sh source $OMARCHY_INSTALL/config/hardware/bluetooth.sh @@ -51,12 +52,6 @@ source $OMARCHY_INSTALL/login/plymouth.sh source $OMARCHY_INSTALL/login/limine-snapper.sh source $OMARCHY_INSTALL/login/alt-bootloaders.sh -# Updates -sudo updatedb - -# Update system packages -sudo pacman -Syu --noconfirm - # Reboot clear tte -i ~/.local/share/omarchy/logo.txt --frame-rate 920 laseretch diff --git a/install/config/localdb.sh b/install/config/localdb.sh new file mode 100644 index 0000000..7372148 --- /dev/null +++ b/install/config/localdb.sh @@ -0,0 +1,2 @@ +# Update localdb so that locate will find everything installed +sudo updatedb From 710bb023cdf50b11223225c95b18c24173d3f62b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 10:54:23 +0200 Subject: [PATCH 02/37] Don't update system packages to prevent issues from something too new at the wrong time --- install.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/install.sh b/install.sh index 95035ba..21ff1c0 100755 --- a/install.sh +++ b/install.sh @@ -54,9 +54,6 @@ source $OMARCHY_INSTALL/login/alt-bootloaders.sh # Updates sudo updatedb -# Update system packages -sudo pacman -Syu --noconfirm - # Reboot clear tte -i ~/.local/share/omarchy/logo.txt --frame-rate 920 laseretch From 742e601bafc2e3bf2397110adc27ce8f6765b459 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:06:08 +0200 Subject: [PATCH 03/37] Pinning packages when one goes bad (#1162) * Don't update system packages to prevent issues from something too new at the wrong time * Add system to pin and ignore bad packages To deal with the abseil-cpp issue --- bin/omarchy-pkg-ignored | 7 +++++++ bin/omarchy-pkg-pinned | 7 +++++++ bin/omarchy-update-system-pkgs | 4 ++-- install.sh | 1 + install/packages.ignored | 1 + install/packages.pinned | 1 + install/packaging/pins.sh | 13 +++++++++++++ migrations/1756284863.sh | 3 +++ 8 files changed, 35 insertions(+), 2 deletions(-) create mode 100755 bin/omarchy-pkg-ignored create mode 100755 bin/omarchy-pkg-pinned create mode 100644 install/packages.ignored create mode 100644 install/packages.pinned create mode 100644 install/packaging/pins.sh create mode 100644 migrations/1756284863.sh diff --git a/bin/omarchy-pkg-ignored b/bin/omarchy-pkg-ignored new file mode 100755 index 0000000..765fe69 --- /dev/null +++ b/bin/omarchy-pkg-ignored @@ -0,0 +1,7 @@ +#!/bin/bash + +IGNORED_PACKAGES_FILE="$OMARCHY_PATH/install/packages.ignored" + +if [[ -f $IGNORED_PACKAGES_FILE ]]; then + tr '\r\n' ',' <"$IGNORED_PACKAGES_FILE" | sed 's/,$//' +fi diff --git a/bin/omarchy-pkg-pinned b/bin/omarchy-pkg-pinned new file mode 100755 index 0000000..16d0df1 --- /dev/null +++ b/bin/omarchy-pkg-pinned @@ -0,0 +1,7 @@ +#!/bin/bash + +PINNED_PACKAGES_FILE=$OMARCHY_PATH/install/packages.pinned + +if [[ -f $PINNED_PACKAGES_FILE ]]; then + tr '\r\n' ',' <"$PINNED_PACKAGES_FILE" | sed 's/,$//' +fi diff --git a/bin/omarchy-update-system-pkgs b/bin/omarchy-update-system-pkgs index e3a12fa..7f01790 100755 --- a/bin/omarchy-update-system-pkgs +++ b/bin/omarchy-update-system-pkgs @@ -1,8 +1,8 @@ #!/bin/bash echo -e "\e[32m\nUpdate system packages\e[0m" -sudo pacman -Syu --noconfirm -echo +echo "sudo pacman -Syu --noconfirm --ignore \"$(omarchy-pkg-ignored)\"" +sudo pacman -Syu --noconfirm --ignore "$(omarchy-pkg-ignored)" if omarchy-pkg-aur-accessible; then echo -e "\e[32m\nUpdate AUR packages\e[0m" diff --git a/install.sh b/install.sh index 794aad4..00f8786 100755 --- a/install.sh +++ b/install.sh @@ -22,6 +22,7 @@ source $OMARCHY_INSTALL/packaging/fonts.sh source $OMARCHY_INSTALL/packaging/lazyvim.sh source $OMARCHY_INSTALL/packaging/webapps.sh source $OMARCHY_INSTALL/packaging/tuis.sh +source $OMARCHY_INSTALL/packaging/pins.sh # Configuration source $OMARCHY_INSTALL/config/config.sh diff --git a/install/packages.ignored b/install/packages.ignored new file mode 100644 index 0000000..0b612e3 --- /dev/null +++ b/install/packages.ignored @@ -0,0 +1 @@ +abseil-cpp diff --git a/install/packages.pinned b/install/packages.pinned new file mode 100644 index 0000000..f349af9 --- /dev/null +++ b/install/packages.pinned @@ -0,0 +1 @@ +https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst diff --git a/install/packaging/pins.sh b/install/packaging/pins.sh new file mode 100644 index 0000000..bacb616 --- /dev/null +++ b/install/packaging/pins.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# We pin explicit packages that are bad upstream here +pinned_packages=$(omarchy-pkg-pinned) + +if [[ -n $pinned_packages ]]; then + echo -e "\e[32m\nInstall pinned system packages\e[0m" + + for pinned in $pinned_packages; do + echo "sudo pacman -U --noconfirm $pinned" + sudo pacman -U --noconfirm $pinned + done +fi diff --git a/migrations/1756284863.sh b/migrations/1756284863.sh new file mode 100644 index 0000000..3e1308b --- /dev/null +++ b/migrations/1756284863.sh @@ -0,0 +1,3 @@ +echo "Pin abseil-cpp as the latest package is broken" + +sudo pacman -U --noconfirm https://archive.archlinux.org/packages/u/uwsm/uwsm-0.23.0-1-any.pkg.tar.zst From a43edcde7d592f2e0132a180393804dad490b1b5 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:14:03 +0200 Subject: [PATCH 04/37] Quote it --- bin/omarchy-pkg-pinned | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-pkg-pinned b/bin/omarchy-pkg-pinned index 16d0df1..503d5c7 100755 --- a/bin/omarchy-pkg-pinned +++ b/bin/omarchy-pkg-pinned @@ -1,6 +1,6 @@ #!/bin/bash -PINNED_PACKAGES_FILE=$OMARCHY_PATH/install/packages.pinned +PINNED_PACKAGES_FILE="$OMARCHY_PATH/install/packages.pinned" if [[ -f $PINNED_PACKAGES_FILE ]]; then tr '\r\n' ',' <"$PINNED_PACKAGES_FILE" | sed 's/,$//' From 4eb2fab33dbb58033dd2e00645b5b8be4ca2e2e7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:21:25 +0200 Subject: [PATCH 05/37] Ignore for yay too --- bin/omarchy-update-system-pkgs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-update-system-pkgs b/bin/omarchy-update-system-pkgs index 7f01790..2c41d73 100755 --- a/bin/omarchy-update-system-pkgs +++ b/bin/omarchy-update-system-pkgs @@ -6,7 +6,8 @@ sudo pacman -Syu --noconfirm --ignore "$(omarchy-pkg-ignored)" if omarchy-pkg-aur-accessible; then echo -e "\e[32m\nUpdate AUR packages\e[0m" - yay -Syu --noconfirm + echo "yay -Syu --noconfirm --ignore \"$(omarchy-pkg-ignored)\"" + yay -Syu --noconfirm --ignore "$(omarchy-pkg-ignored)" echo else echo -e "\e[31m\nAUR is unavailable (so skipping updates)\e[0m" From 0f8a94aa50d1593fef7e0943305e2d5e85dc6c39 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:26:03 +0200 Subject: [PATCH 06/37] Pin at the end --- install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 00f8786..1905157 100755 --- a/install.sh +++ b/install.sh @@ -22,7 +22,6 @@ source $OMARCHY_INSTALL/packaging/fonts.sh source $OMARCHY_INSTALL/packaging/lazyvim.sh source $OMARCHY_INSTALL/packaging/webapps.sh source $OMARCHY_INSTALL/packaging/tuis.sh -source $OMARCHY_INSTALL/packaging/pins.sh # Configuration source $OMARCHY_INSTALL/config/config.sh @@ -53,6 +52,9 @@ source $OMARCHY_INSTALL/login/plymouth.sh source $OMARCHY_INSTALL/login/limine-snapper.sh source $OMARCHY_INSTALL/login/alt-bootloaders.sh +# Pin any bad packages +source $OMARCHY_INSTALL/packaging/pins.sh + # Reboot clear tte -i ~/.local/share/omarchy/logo.txt --frame-rate 920 laseretch From 2b0d2e47514343aa5ad108ec516f885c1077c7ab Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:35:48 +0200 Subject: [PATCH 07/37] Should be exe --- install/packaging/pins.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 install/packaging/pins.sh diff --git a/install/packaging/pins.sh b/install/packaging/pins.sh old mode 100644 new mode 100755 From 2294393d711b23a8baaf030c5cd44ad13984e0df Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:39:36 +0200 Subject: [PATCH 08/37] Just force it for now --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 1905157..44e2887 100755 --- a/install.sh +++ b/install.sh @@ -52,8 +52,8 @@ source $OMARCHY_INSTALL/login/plymouth.sh source $OMARCHY_INSTALL/login/limine-snapper.sh source $OMARCHY_INSTALL/login/alt-bootloaders.sh -# Pin any bad packages -source $OMARCHY_INSTALL/packaging/pins.sh +# Pin bad packages +sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst # Reboot clear From ec85068c67a7692cf1fc8a3a3675ee510c8d0e77 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:59:21 +0200 Subject: [PATCH 09/37] Use omarchy-version --- config/fastfetch/config.jsonc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/fastfetch/config.jsonc b/config/fastfetch/config.jsonc index c7a5739..316f441 100644 --- a/config/fastfetch/config.jsonc +++ b/config/fastfetch/config.jsonc @@ -66,7 +66,7 @@ "type": "command", "key": "\ue900 OS", "keyColor": "blue", - "text": "version=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/dev/null); echo \"Omarchy $version\"" + "text": "version=$(omarchy-version); echo \"Omarchy $version\"" }, { "type": "kernel", From c09ac13f902720b7e5b36197ab4a64e7dffb0d99 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 12:59:31 +0200 Subject: [PATCH 10/37] Add refresh fastfetch config --- bin/omarchy-refresh-fastfetch | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 bin/omarchy-refresh-fastfetch diff --git a/bin/omarchy-refresh-fastfetch b/bin/omarchy-refresh-fastfetch new file mode 100755 index 0000000..879c327 --- /dev/null +++ b/bin/omarchy-refresh-fastfetch @@ -0,0 +1,3 @@ +#!/bin/bash + +omarchy-refresh-config fastfetch/config.jsonc From 147242cbbab60b8b9c292f5dac7eacac693c3c68 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 14:13:23 +0200 Subject: [PATCH 11/37] Same permissions as everything --- install/config/localdb.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 install/config/localdb.sh diff --git a/install/config/localdb.sh b/install/config/localdb.sh old mode 100644 new mode 100755 From 90cdbd5504b8fc425b0b69fafb4708015357a0ab Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 14:14:03 +0200 Subject: [PATCH 12/37] Run the omarchy-update in a terminal process not owned by waybar so it'll survive being restarted --- bin/omarchy-launch-terminal-with-presentation | 4 ++++ config/waybar/config.jsonc | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100755 bin/omarchy-launch-terminal-with-presentation diff --git a/bin/omarchy-launch-terminal-with-presentation b/bin/omarchy-launch-terminal-with-presentation new file mode 100755 index 0000000..bae701e --- /dev/null +++ b/bin/omarchy-launch-terminal-with-presentation @@ -0,0 +1,4 @@ +#!/bin/bash + +cmd="$*" +setsid alacritty -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index 7ff8c0e..b8c02f6 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -46,7 +46,7 @@ "custom/update": { "format": "", "exec": "omarchy-update-available", - "on-click": "alacritty --class Omarchy --title Omarchy -e omarchy-update", + "on-click": "omarchy-launch-terminal-with-presentation omarchy-update", "tooltip-format": "Omarchy update available", "interval": 3600 }, From b264c6540a19e867c5f8cd136f272473897a1549 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 14:19:07 +0200 Subject: [PATCH 13/37] Use floating terminal --- bin/omarchy-launch-floating-terminal-with-presentation | 4 ++++ bin/omarchy-launch-terminal-with-presentation | 4 ---- bin/omarchy-menu | 2 +- config/waybar/config.jsonc | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) create mode 100755 bin/omarchy-launch-floating-terminal-with-presentation delete mode 100755 bin/omarchy-launch-terminal-with-presentation diff --git a/bin/omarchy-launch-floating-terminal-with-presentation b/bin/omarchy-launch-floating-terminal-with-presentation new file mode 100755 index 0000000..ecba263 --- /dev/null +++ b/bin/omarchy-launch-floating-terminal-with-presentation @@ -0,0 +1,4 @@ +#!/bin/bash + +cmd="$*" +setsid alacritty --class Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" diff --git a/bin/omarchy-launch-terminal-with-presentation b/bin/omarchy-launch-terminal-with-presentation deleted file mode 100755 index bae701e..0000000 --- a/bin/omarchy-launch-terminal-with-presentation +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -cmd="$*" -setsid alacritty -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" diff --git a/bin/omarchy-menu b/bin/omarchy-menu index f5179cb..8569d18 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -26,7 +26,7 @@ terminal() { } present_terminal() { - alacritty --class Omarchy -e bash -c "omarchy-show-logo; eval \"$1\"; omarchy-show-done;" + omarchy-launch-floating-terminal-with-presentation $1 } edit_in_nvim() { diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index b8c02f6..ab1cf55 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -46,7 +46,7 @@ "custom/update": { "format": "", "exec": "omarchy-update-available", - "on-click": "omarchy-launch-terminal-with-presentation omarchy-update", + "on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update", "tooltip-format": "Omarchy update available", "interval": 3600 }, From cf4e1c0eb72ae7238e0e58a05f31e785eedeb30f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 14:26:30 +0200 Subject: [PATCH 14/37] Better resilience for fetching the tags --- bin/omarchy-update-available | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bin/omarchy-update-available b/bin/omarchy-update-available index 808513e..2555821 100755 --- a/bin/omarchy-update-available +++ b/bin/omarchy-update-available @@ -1,13 +1,18 @@ #!/bin/bash -# Ensure remote is reachable -if ! git -C "$OMARCHY_PATH" ls-remote &>/dev/null; then - echo "Error: Unable to reach remote repository." +# Get remote tag +latest_tag=$(git -C "$OMARCHY_PATH" ls-remote --tags origin | grep -v "{}" | awk '{print $2}' | sed 's#refs/tags/##' | sort -V | tail -n 1) +if [[ -z "$latest_tag" ]]; then + echo "Error: Could not retrieve latest tag." exit 1 fi -latest_tag=$(git -C "$OMARCHY_PATH" ls-remote --tags origin | grep -v "{}" | awk '{print $2}' | sed 's#refs/tags/##' | sort -V | tail -n 1) +# Get local tag current_tag=$(git -C "$OMARCHY_PATH" describe --tags $(git -C "$OMARCHY_PATH" rev-list --tags --max-count=1)) +if [[ -z "$current_tag" ]]; then + echo "Error: Could not retrieve current tag." + exit 1 +fi if [[ "$current_tag" != "$latest_tag" ]]; then echo "Omarchy update available ($latest_tag)" From 175066ecba7e404f02f03e795b2b5e166ca1cf61 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 14:38:00 +0200 Subject: [PATCH 15/37] Fix migration not to add working-directory if already there And make command line compatible with Ghostty too --- migrations/1755870033.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/migrations/1755870033.sh b/migrations/1755870033.sh index e1a0be0..fde865b 100644 --- a/migrations/1755870033.sh +++ b/migrations/1755870033.sh @@ -1,3 +1,5 @@ echo "Use current terminal shell cwd for new terminal working directories" -sed -i 's|bindd = SUPER, return, Terminal, exec, \$terminal|bindd = SUPER, return, Terminal, exec, $terminal --working-directory $(omarchy-cmd-terminal-cwd)|' ~/.config/hypr/bindings.conf +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 +fi From e5927fc1b29fe056c14a9de828d930ccaf1c29bf Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 14:38:14 +0200 Subject: [PATCH 16/37] Fix ghostty compatibility here too --- 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 6164ec0..fc6d9ce 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -2,7 +2,7 @@ $terminal = uwsm app -- alacritty $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, M, Music, exec, uwsm app -- spotify From 5fec87d324fca37605ffd2434922052b218967b4 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 15:24:18 +0200 Subject: [PATCH 17/37] Get rid of -Sy and -Syy (#1175) * Get rid of -Sy and -Syy * Get rid of all naked -Sy usage * Don't need a full system update for this * Combine * Does not need a full system update * Need to refresh even just for Omarchy repository * Does not warrant a full system update * No longer need the sudoless pacman runs * We have already added the Omarchy repo before getting to here So fine to just do a straight install --- bin/omarchy-install-dev-env | 2 +- bin/omarchy-install-steam | 3 +-- bin/omarchy-menu | 10 +++++----- bin/omarchy-pkg-aur-install | 2 +- bin/omarchy-pkg-install | 3 +-- boot.sh | 2 +- install/config/hardware/nvidia.sh | 2 +- install/preflight/repositories.sh | 12 +++--------- migrations/1751134561.sh | 2 +- migrations/1752091783.sh | 2 +- migrations/1752981883.sh | 2 +- migrations/1753352057.sh | 2 +- migrations/1754509222.sh | 2 +- migrations/1754515289.sh | 2 +- migrations/1755164105.sh | 2 +- migrations/1755795450.sh | 2 +- migrations/1756103168.sh | 6 ------ migrations/1756300740.sh | 3 +++ 18 files changed, 25 insertions(+), 36 deletions(-) delete mode 100644 migrations/1756103168.sh create mode 100644 migrations/1756300740.sh diff --git a/bin/omarchy-install-dev-env b/bin/omarchy-install-dev-env index 1e8480a..5453e8d 100755 --- a/bin/omarchy-install-dev-env +++ b/bin/omarchy-install-dev-env @@ -6,7 +6,7 @@ if [[ -z "$1" ]]; then fi install_php() { - sudo pacman -Sy php composer php-sqlite --noconfirm + sudo pacman -S php composer php-sqlite --noconfirm # Install Path for Composer if [[ ":$PATH:" != *":$HOME/.config/composer/vendor/bin:"* ]]; then diff --git a/bin/omarchy-install-steam b/bin/omarchy-install-steam index 9eb826d..9903feb 100755 --- a/bin/omarchy-install-steam +++ b/bin/omarchy-install-steam @@ -2,8 +2,7 @@ echo "Adding multilib repository for 32-bit compatibility" sudo sed -i '/^\s*#\[multilib\]/,/^$/{s/^\s*#//}' /etc/pacman.conf -sudo pacman -Sy echo "Now pick dependencies matching your graphics card" -sudo pacman -S steam +sudo pacman -Syu steam setsid gtk-launch steam >/dev/null 2>&1 & diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 8569d18..ce94bae 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -35,23 +35,23 @@ edit_in_nvim() { } install() { - present_terminal "echo 'Installing $1...'; sudo pacman -Sy --noconfirm $2" + present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm $2" } install_and_launch() { - present_terminal "echo 'Installing $1...'; sudo pacman -Sy --noconfirm $2 && setsid gtk-launch $3" + present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm $2 && setsid gtk-launch $3" } install_font() { - present_terminal "echo 'Installing $1...'; sudo pacman -Sy --noconfirm --needed $2 && sleep 2 && omarchy-font-set '$3'" + present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm --needed $2 && sleep 2 && omarchy-font-set '$3'" } aur_install() { - present_terminal "echo 'Installing $1 from AUR...'; yay -Sy --noconfirm $2" + present_terminal "echo 'Installing $1 from AUR...'; yay -S --noconfirm $2" } aur_install_and_launch() { - present_terminal "echo 'Installing $1 from AUR...'; yay -Sy --noconfirm $2 && setsid gtk-launch $3" + present_terminal "echo 'Installing $1 from AUR...'; yay -S --noconfirm $2 && setsid gtk-launch $3" } show_learn_menu() { diff --git a/bin/omarchy-pkg-aur-install b/bin/omarchy-pkg-aur-install index 25aff21..c99ee71 100755 --- a/bin/omarchy-pkg-aur-install +++ b/bin/omarchy-pkg-aur-install @@ -18,7 +18,7 @@ pkg_names=$(yay -Slqa | fzf "${fzf_args[@]}") if [[ -n "$pkg_names" ]]; then # Convert newline-separated selections to space-separated for yay - echo "$pkg_names" | tr '\n' ' ' | xargs yay -Sy --noconfirm + echo "$pkg_names" | tr '\n' ' ' | xargs yay -S --noconfirm sudo updatedb omarchy-show-done fi diff --git a/bin/omarchy-pkg-install b/bin/omarchy-pkg-install index 7f86106..8a6c1ce 100755 --- a/bin/omarchy-pkg-install +++ b/bin/omarchy-pkg-install @@ -14,12 +14,11 @@ fzf_args=( --color 'pointer:green,marker:green' ) -sudo pacman -Sy pkg_names=$(pacman -Slq | fzf "${fzf_args[@]}") if [[ -n "$pkg_names" ]]; then # Convert newline-separated selections to space-separated for yay - echo "$pkg_names" | tr '\n' ' ' | xargs sudo pacman -Sy --noconfirm + echo "$pkg_names" | tr '\n' ' ' | xargs sudo pacman -S --noconfirm sudo updatedb omarchy-show-done fi diff --git a/boot.sh b/boot.sh index 17ad668..98df4e4 100755 --- a/boot.sh +++ b/boot.sh @@ -14,7 +14,7 @@ ansi_art=' ▄▄▄ clear echo -e "\n$ansi_art\n" -sudo pacman -Sy --noconfirm --needed git +sudo pacman -Syu --noconfirm --needed git # Use custom repo if specified, otherwise default to basecamp/omarchy OMARCHY_REPO="${OMARCHY_REPO:-basecamp/omarchy}" diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 6623de6..65f3f04 100755 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -36,7 +36,7 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then fi # force package database refresh - sudo pacman -Syy + sudo pacman -Syu # Install packages PACKAGES_TO_INSTALL=( diff --git a/install/preflight/repositories.sh b/install/preflight/repositories.sh index 59c18f3..f3e6ba7 100755 --- a/install/preflight/repositories.sh +++ b/install/preflight/repositories.sh @@ -1,7 +1,7 @@ #!/bin/bash # Install build tools -sudo pacman -Sy --needed --noconfirm base-devel +sudo pacman -S --needed --noconfirm base-devel # Add fun and color and verbosity to the pacman installer if ! grep -q "ILoveCandy" /etc/pacman.conf; then @@ -30,16 +30,10 @@ if [[ "$(uname -m)" == "x86_64" ]] && [ -z "$DISABLE_CHAOTIC" ]; then if ! grep -q "chaotic-aur" /etc/pacman.conf; then echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null fi - - # Refresh all repos - sudo pacman -Sy else echo -e "Failed to install Chaotic-AUR, so won't include it in pacman config!" fi fi -# Allow repository index updates without sudo -sudo tee /etc/sudoers.d/repositories >/dev/null </dev/null; then - sudo pacman -Sy --noconfirm --needed walker-bin libqalculate + sudo pacman -S --noconfirm --needed walker-bin libqalculate sudo pacman -Rns --noconfirm wofi rm -rf ~/.config/wofi diff --git a/migrations/1753352057.sh b/migrations/1753352057.sh index 3c3b915..7cd33be 100755 --- a/migrations/1753352057.sh +++ b/migrations/1753352057.sh @@ -11,7 +11,7 @@ if [[ "$(uname -m)" == "x86_64" ]] && ! grep -q '^\[chaotic-aur\]' /etc/pacman.c echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null # Refresh pacman package databases - sudo pacman -Sy + sudo pacman -Syu else echo "Failed to install Chaotic-AUR, so won't include it in pacman config!" fi diff --git a/migrations/1754509222.sh b/migrations/1754509222.sh index 8ad7ad4..ced63c6 100644 --- a/migrations/1754509222.sh +++ b/migrations/1754509222.sh @@ -1,3 +1,3 @@ echo "Add xmlstarlet needed for updating fonts via Omarchy menu" -sudo pacman -Sy --noconfirm --needed xmlstarlet +sudo pacman -S --noconfirm --needed xmlstarlet diff --git a/migrations/1754515289.sh b/migrations/1754515289.sh index 17a3d56..23f4db5 100644 --- a/migrations/1754515289.sh +++ b/migrations/1754515289.sh @@ -1,4 +1,4 @@ echo "Update and restart Walker to resolve stuck Omarchy menu" -sudo pacman -Sy --noconfirm walker-bin +sudo pacman -Syu --noconfirm walker-bin omarchy-restart-walker diff --git a/migrations/1755164105.sh b/migrations/1755164105.sh index 17dd2a7..a17ac58 100644 --- a/migrations/1755164105.sh +++ b/migrations/1755164105.sh @@ -11,7 +11,7 @@ set_theme_colors() { if command -v chromium &>/dev/null; then sudo pacman -Rns --noconfirm chromium || true - sudo pacman -Sy --noconfirm omarchy-chromium + sudo pacman -S --noconfirm omarchy-chromium if pgrep -x chromium; then if gum confirm "Chromium must be restarted. Ready?"; then diff --git a/migrations/1755795450.sh b/migrations/1755795450.sh index 96df3fc..3e2b3e6 100644 --- a/migrations/1755795450.sh +++ b/migrations/1755795450.sh @@ -1,3 +1,3 @@ echo "Ensure latest uwsm is installed" -sudo pacman -Sy --noconfirm uwsm +sudo pacman -Syu --noconfirm uwsm diff --git a/migrations/1756103168.sh b/migrations/1756103168.sh deleted file mode 100644 index bef59f4..0000000 --- a/migrations/1756103168.sh +++ /dev/null @@ -1,6 +0,0 @@ -echo "Allow pacman -Sy without sudo to easier installs" - -sudo tee /etc/sudoers.d/repositories >/dev/null < Date: Wed, 27 Aug 2025 15:29:48 +0200 Subject: [PATCH 18/37] Confirm whether issue is still present with proper use of pacman -Syu --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 44e2887..4a851ad 100755 --- a/install.sh +++ b/install.sh @@ -53,7 +53,7 @@ source $OMARCHY_INSTALL/login/limine-snapper.sh source $OMARCHY_INSTALL/login/alt-bootloaders.sh # Pin bad packages -sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst +# sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst # Reboot clear From 2832c599703ea9f19136f8b02df0d5c82d86e500 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 15:40:48 +0200 Subject: [PATCH 19/37] Always --noconfirm --- bin/omarchy-install-steam | 2 +- install/config/hardware/nvidia.sh | 2 +- install/preflight/repositories.sh | 2 +- migrations/1751134561.sh | 2 +- migrations/1753352057.sh | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/omarchy-install-steam b/bin/omarchy-install-steam index 9903feb..1d58845 100755 --- a/bin/omarchy-install-steam +++ b/bin/omarchy-install-steam @@ -4,5 +4,5 @@ echo "Adding multilib repository for 32-bit compatibility" sudo sed -i '/^\s*#\[multilib\]/,/^$/{s/^\s*#//}' /etc/pacman.conf echo "Now pick dependencies matching your graphics card" -sudo pacman -Syu steam +sudo pacman -Syu --noconfirm steam setsid gtk-launch steam >/dev/null 2>&1 & diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 65f3f04..c2b54e5 100755 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -36,7 +36,7 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then fi # force package database refresh - sudo pacman -Syu + sudo pacman -Syu --noconfirm # Install packages PACKAGES_TO_INSTALL=( diff --git a/install/preflight/repositories.sh b/install/preflight/repositories.sh index f3e6ba7..c368955 100755 --- a/install/preflight/repositories.sh +++ b/install/preflight/repositories.sh @@ -36,4 +36,4 @@ if [[ "$(uname -m)" == "x86_64" ]] && [ -z "$DISABLE_CHAOTIC" ]; then fi # Refresh all repos -sudo pacman -Syu +sudo pacman -Syu --noconfirm diff --git a/migrations/1751134561.sh b/migrations/1751134561.sh index 0d1a932..367fac3 100644 --- a/migrations/1751134561.sh +++ b/migrations/1751134561.sh @@ -3,5 +3,5 @@ echo "Add Omarchy Package Repository" 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 + sudo pacman -Syu --noconfirm fi diff --git a/migrations/1753352057.sh b/migrations/1753352057.sh index 7cd33be..3265f6a 100755 --- a/migrations/1753352057.sh +++ b/migrations/1753352057.sh @@ -11,7 +11,7 @@ if [[ "$(uname -m)" == "x86_64" ]] && ! grep -q '^\[chaotic-aur\]' /etc/pacman.c echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null # Refresh pacman package databases - sudo pacman -Syu + sudo pacman -Syu --noconfirm else echo "Failed to install Chaotic-AUR, so won't include it in pacman config!" fi From e9d2a3d3f7904afd462d5933954b99bb16dfb675 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 15:46:59 +0200 Subject: [PATCH 20/37] Revert "Confirm whether issue is still present with proper use of pacman -Syu" This reverts commit 3882fbf21c29d4ed6df0521a0c081a8584856510. --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 4a851ad..44e2887 100755 --- a/install.sh +++ b/install.sh @@ -53,7 +53,7 @@ source $OMARCHY_INSTALL/login/limine-snapper.sh source $OMARCHY_INSTALL/login/alt-bootloaders.sh # Pin bad packages -# sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst +sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst # Reboot clear From 393767cbeca1f8d21693f68b7a536275a9081fa2 Mon Sep 17 00:00:00 2001 From: Cai Strickland Date: Wed, 27 Aug 2025 15:49:33 +0200 Subject: [PATCH 21/37] make clicking on the battery open the power menu Bothered me that the power profile setting was so hidden away, so I made it pop up by clicking the battery icon. :) --- bin/omarchy-menu | 1 + config/waybar/config.jsonc | 1 + 2 files changed, 2 insertions(+) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index f5179cb..e457e65 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -382,6 +382,7 @@ go_to_menu() { *update*) show_update_menu ;; *system*) show_system_menu ;; *about*) alacritty --class Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s' ;; + *power*) show_setup_power_menu ;; esac } diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index 7ff8c0e..7c8855c 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -88,6 +88,7 @@ "tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%", "tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%", "interval": 5, + "on-click": "omarchy-menu power", "states": { "warning": 20, "critical": 10 From 37d10feba3505fdecb2b01cca7d29504c26f31b0 Mon Sep 17 00:00:00 2001 From: Bastien Jaillot Date: Wed, 27 Aug 2025 18:14:27 +0200 Subject: [PATCH 22/37] Update Hyprland config path for keyboard layout Keyboard is wrongly set after install, this is because the config moved to a dedicated input.conf and so no substitution is done. --- install/config/detect-keyboard-layout.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/detect-keyboard-layout.sh b/install/config/detect-keyboard-layout.sh index fcee66b..a6cbf82 100755 --- a/install/config/detect-keyboard-layout.sh +++ b/install/config/detect-keyboard-layout.sh @@ -2,7 +2,7 @@ # Copy over the keyboard layout that's been set in Arch during install to Hyprland conf="/etc/vconsole.conf" -hyprconf="$HOME/.config/hypr/hyprland.conf" +hyprconf="$HOME/.config/hypr/input.conf" layout=$(grep '^XKBLAYOUT=' "$conf" | cut -d= -f2 | tr -d '"') variant=$(grep '^XKBVARIANT=' "$conf" | cut -d= -f2 | tr -d '"') From 512df06f36778e8dbc01a01d4b162ac8a5fc5125 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 20:49:34 +0200 Subject: [PATCH 23/37] Don't need output for success --- bin/omarchy-reset-sudo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-reset-sudo b/bin/omarchy-reset-sudo index 1829496..9482262 100755 --- a/bin/omarchy-reset-sudo +++ b/bin/omarchy-reset-sudo @@ -1,4 +1,4 @@ #!/bin/bash -echo "Resetting sudo lockout for user: $USER" +# Resetting sudo lockout for user su -c "faillock --reset --user $USER" From 203dcce8988d8dd8c43a97ac937e35b0d15ddab0 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 21:05:38 +0200 Subject: [PATCH 24/37] Order of appearance --- bin/omarchy-menu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index bdda015..1b2bbfa 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -377,12 +377,12 @@ go_to_menu() { *screenrecord*) show_screenrecord_menu ;; *toggle*) show_toggle_menu ;; *setup*) show_setup_menu ;; + *power*) show_setup_power_menu ;; *install*) show_install_menu ;; *remove*) show_remove_menu ;; *update*) show_update_menu ;; - *system*) show_system_menu ;; *about*) alacritty --class Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s' ;; - *power*) show_setup_power_menu ;; + *system*) show_system_menu ;; esac } From c56c192b896b4f9b660678a9f00074f4957f2126 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 27 Aug 2025 21:15:48 +0200 Subject: [PATCH 25/37] Set keyboard layout in the correct default file --- install/config/detect-keyboard-layout.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/detect-keyboard-layout.sh b/install/config/detect-keyboard-layout.sh index fcee66b..a6cbf82 100755 --- a/install/config/detect-keyboard-layout.sh +++ b/install/config/detect-keyboard-layout.sh @@ -2,7 +2,7 @@ # Copy over the keyboard layout that's been set in Arch during install to Hyprland conf="/etc/vconsole.conf" -hyprconf="$HOME/.config/hypr/hyprland.conf" +hyprconf="$HOME/.config/hypr/input.conf" layout=$(grep '^XKBLAYOUT=' "$conf" | cut -d= -f2 | tr -d '"') variant=$(grep '^XKBVARIANT=' "$conf" | cut -d= -f2 | tr -d '"') From 42f7f5f55880d2bb832b6f229d825f520c30dab6 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 06:38:48 +0200 Subject: [PATCH 26/37] Hopefully no longer needed --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 44e2887..4a851ad 100755 --- a/install.sh +++ b/install.sh @@ -53,7 +53,7 @@ source $OMARCHY_INSTALL/login/limine-snapper.sh source $OMARCHY_INSTALL/login/alt-bootloaders.sh # Pin bad packages -sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst +# sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst # Reboot clear From 2c751a0920faae285ef812604a8ebb2f123a95b1 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 06:47:32 +0200 Subject: [PATCH 27/37] Stop pinning --- install/packages.ignored | 1 - install/packages.pinned | 1 - 2 files changed, 2 deletions(-) diff --git a/install/packages.ignored b/install/packages.ignored index 0b612e3..e69de29 100644 --- a/install/packages.ignored +++ b/install/packages.ignored @@ -1 +0,0 @@ -abseil-cpp diff --git a/install/packages.pinned b/install/packages.pinned index f349af9..e69de29 100644 --- a/install/packages.pinned +++ b/install/packages.pinned @@ -1 +0,0 @@ -https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst From a34b7bd1310042cc54daf7fe333723457dd7f41b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 06:58:10 +0200 Subject: [PATCH 28/37] Remove entirely --- install.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/install.sh b/install.sh index 4a851ad..794aad4 100755 --- a/install.sh +++ b/install.sh @@ -52,9 +52,6 @@ source $OMARCHY_INSTALL/login/plymouth.sh source $OMARCHY_INSTALL/login/limine-snapper.sh source $OMARCHY_INSTALL/login/alt-bootloaders.sh -# Pin bad packages -# sudo pacman -U --noconfirm https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst - # Reboot clear tte -i ~/.local/share/omarchy/logo.txt --frame-rate 920 laseretch From 4e7aa3386894ca8c2e753f8e94800b55887afba6 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 07:05:03 +0200 Subject: [PATCH 29/37] Don't need to start immediately --- install/config/hardware/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/hardware/network.sh b/install/config/hardware/network.sh index 7013883..ff2e03e 100755 --- a/install/config/hardware/network.sh +++ b/install/config/hardware/network.sh @@ -4,7 +4,7 @@ # This can happen if archinstall used ethernet if ! command -v iwctl &>/dev/null; then sudo pacman -S --noconfirm --needed iwd - chrootable_systemctl_enable iwd.service + sudo systemctl enable iwd.service fi # Prevent systemd-networkd-wait-online timeout on boot From 6e3d023fee64d030519ebd88ad0e5ac0c5ac7997 Mon Sep 17 00:00:00 2001 From: Roberto Aguilar Date: Wed, 27 Aug 2025 23:55:51 -0600 Subject: [PATCH 30/37] Install `node` as part of Laravel's dev env (#1201) When running `laravel new`, if a starter kit like `React` or `Vue` are selected, the installer will ask: ``` Would you like to run npm install and npm run build? ``` And in order for it to work, `npm` should be available. Having this installed will definitively smooth out the experience from install to up-and-running! --- bin/omarchy-install-dev-env | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-install-dev-env b/bin/omarchy-install-dev-env index 5453e8d..1865992 100755 --- a/bin/omarchy-install-dev-env +++ b/bin/omarchy-install-dev-env @@ -33,6 +33,11 @@ install_php() { done } +install_node() { + echo -e "Installing Node.js...\n" + mise use --global node@lts +} + case "$1" in ruby) echo -e "Installing Ruby on Rails...\n" @@ -42,8 +47,7 @@ ruby) echo -e "\nYou can now run: rails new myproject" ;; node) - echo -e "Installing Node.js...\n" - mise use --global node@lts + install_node ;; bun) echo -e "Installing Bun...\n" @@ -64,6 +68,7 @@ php) laravel) echo -e "Installing PHP and Laravel...\n" install_php + install_node composer global require laravel/installer echo -e "\nYou can now run: laravel new myproject" ;; From 30ad634349cd0011aa96bb0269e9e66ccf69865a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 08:47:42 +0200 Subject: [PATCH 31/37] Move OPR behind Arch default repos (#1229) * Move OPR behind Arch default repos * No longer first --- install/preflight/repositories.sh | 4 ++-- migrations/1756360551.sh | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 migrations/1756360551.sh diff --git a/install/preflight/repositories.sh b/install/preflight/repositories.sh index c368955..5256ba8 100755 --- a/install/preflight/repositories.sh +++ b/install/preflight/repositories.sh @@ -8,9 +8,9 @@ if ! grep -q "ILoveCandy" /etc/pacman.conf; then sudo sed -i '/^\[options\]/a Color\nILoveCandy\nVerbosePkgLists' /etc/pacman.conf fi -# Add the Omarchy repository as first choice +# Add the Omarchy repository 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 + echo -e '\n[omarchy]\nSigLevel = Optional TrustAll\nServer = https:\/\/pkgs.omarchy.org\/$arch\/\n' | sudo tee -a /etc/pacman.conf >/dev/null fi # Set mirrors to global ones only diff --git a/migrations/1756360551.sh b/migrations/1756360551.sh new file mode 100644 index 0000000..a87dc54 --- /dev/null +++ b/migrations/1756360551.sh @@ -0,0 +1,6 @@ +echo "Move Omarchy Package Repository after Arch core/extra/multilib for extra security on resolution" + +sudo cp /etc/pacman.conf /etc/pacman.conf.bak +sudo sed -i '/\[omarchy\]/,+2 d' /etc/pacman.conf +sudo sed -i '/\[chaotic-aur\]/i\[omarchy]\nSigLevel = Optional TrustAll\nServer = https://pkgs.omarchy.org/$arch/\n' /etc/pacman.conf || + sudo bash -c 'echo -e "\n[omarchy]\nSigLevel = Optional TrustAll\nServer = https://pkgs.omarchy.org/$arch/" >> /etc/pacman.conf' From 33d6d3833250fe842073cfbee14d764d2c416f6d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 09:05:26 +0200 Subject: [PATCH 32/37] Include Omarchy branch in About (#1231) --- bin/omarchy-version-branch | 3 +++ config/fastfetch/config.jsonc | 6 ++++++ migrations/1756363651.sh | 3 +++ 3 files changed, 12 insertions(+) create mode 100755 bin/omarchy-version-branch create mode 100644 migrations/1756363651.sh diff --git a/bin/omarchy-version-branch b/bin/omarchy-version-branch new file mode 100755 index 0000000..43281d9 --- /dev/null +++ b/bin/omarchy-version-branch @@ -0,0 +1,3 @@ +#!/bin/bash + +echo $(git -C "$OMARCHY_PATH" rev-parse --abbrev-ref HEAD) diff --git a/config/fastfetch/config.jsonc b/config/fastfetch/config.jsonc index 316f441..b2cad35 100644 --- a/config/fastfetch/config.jsonc +++ b/config/fastfetch/config.jsonc @@ -68,6 +68,12 @@ "keyColor": "blue", "text": "version=$(omarchy-version); echo \"Omarchy $version\"" }, + { + "type": "command", + "key": "│ ├󰘬", + "keyColor": "blue", + "text": "branch=$(omarchy-version-branch); echo \"$branch\"" + }, { "type": "kernel", "key": "│ ├", diff --git a/migrations/1756363651.sh b/migrations/1756363651.sh new file mode 100644 index 0000000..3df0985 --- /dev/null +++ b/migrations/1756363651.sh @@ -0,0 +1,3 @@ +echo "Update About config to include the Omarchy branch name" + +omarchy-refresh-fastfetch From 06b15257e2e45e07679bbee2ed18c0de897087c8 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 09:21:47 +0200 Subject: [PATCH 33/37] Fix repo setup --- install/preflight/repositories.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/preflight/repositories.sh b/install/preflight/repositories.sh index 5256ba8..0e53313 100755 --- a/install/preflight/repositories.sh +++ b/install/preflight/repositories.sh @@ -10,7 +10,7 @@ fi # Add the Omarchy repository if ! grep -q "omarchy" /etc/pacman.conf; then - echo -e '\n[omarchy]\nSigLevel = Optional TrustAll\nServer = https:\/\/pkgs.omarchy.org\/$arch\/\n' | sudo tee -a /etc/pacman.conf >/dev/null + echo -e "\n[omarchy]\nSigLevel = Optional TrustAll\nServer = https://pkgs.omarchy.org/\$arch/\n" | sudo tee -a /etc/pacman.conf >/dev/null fi # Set mirrors to global ones only From 3f2e282c46104713d8a95a1ae9d1fa40c6fbef6a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 10:29:36 +0200 Subject: [PATCH 34/37] Ensure walker doesn't walk off into the night Closes #1226 --- migrations/1756365707.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 migrations/1756365707.sh diff --git a/migrations/1756365707.sh b/migrations/1756365707.sh new file mode 100644 index 0000000..dc8c60d --- /dev/null +++ b/migrations/1756365707.sh @@ -0,0 +1,4 @@ +# FIXME: This really shouldn't happen, need to find out why! +echo "Ensure walker is present" + +sudo pacman -Syu --needed --noconfirm walker-bin From e3df85ba8ca512a8aa837a4e5556f1cd34418def Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 10:41:05 +0200 Subject: [PATCH 35/37] Switch to the new Font Awesome 7.0 package --- install/packages.sh | 2 +- migrations/1756369776.sh | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 migrations/1756369776.sh diff --git a/install/packages.sh b/install/packages.sh index 7800d23..f50233a 100644 --- a/install/packages.sh +++ b/install/packages.sh @@ -95,7 +95,6 @@ sudo pacman -S --noconfirm --needed \ tldr \ tree-sitter-cli \ ttf-cascadia-mono-nerd \ - ttf-font-awesome \ ttf-ia-writer \ ttf-jetbrains-mono \ typora \ @@ -113,6 +112,7 @@ sudo pacman -S --noconfirm --needed \ wl-clip-persist \ wl-clipboard \ wl-screenrec \ + woff2-font-awesome \ xdg-desktop-portal-gtk \ xdg-desktop-portal-hyprland \ xmlstarlet \ diff --git a/migrations/1756369776.sh b/migrations/1756369776.sh new file mode 100644 index 0000000..9b33e74 --- /dev/null +++ b/migrations/1756369776.sh @@ -0,0 +1,4 @@ +echo "Move to the new woff2 format for Font Awesome 7.0" + +sudo pacman -S --noconfirm --needed woff2-font-awesome +sudo pacman -Rns --noconfirm ttf-font-awesome || true From 69f5c62f8f4560460a968f97f33ffea3b6a16653 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 10:42:41 +0200 Subject: [PATCH 36/37] pacman actually does this itself --- migrations/1756369776.sh | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 migrations/1756369776.sh diff --git a/migrations/1756369776.sh b/migrations/1756369776.sh deleted file mode 100644 index 9b33e74..0000000 --- a/migrations/1756369776.sh +++ /dev/null @@ -1,4 +0,0 @@ -echo "Move to the new woff2 format for Font Awesome 7.0" - -sudo pacman -S --noconfirm --needed woff2-font-awesome -sudo pacman -Rns --noconfirm ttf-font-awesome || true From 91dadc905d7ee1d6015a77625d97a4267288f70b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 28 Aug 2025 10:50:20 +0200 Subject: [PATCH 37/37] Let user know why we are asking for sudo --- bin/omarchy-snapshot | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/omarchy-snapshot b/bin/omarchy-snapshot index b4d78f1..5600b9e 100755 --- a/bin/omarchy-snapshot +++ b/bin/omarchy-snapshot @@ -16,9 +16,11 @@ case "$COMMAND" in create) DESC="$(omarchy-version)" + echo -e "\e[32mCreate system snapshot\e[0m" for config in root home; do sudo snapper -c "$config" create -c number -d "$DESC" done + echo ;; restore) sudo limine-snapper-restore