Compare commits

...

13 Commits

Author SHA1 Message Date
David Heinemeier Hansson
d94715d59e Merge pull request #1174 from basecamp/dev
Omarchy 2.0.3
2025-08-27 16:11:01 +02:00
David Heinemeier Hansson
e9d2a3d3f7 Revert "Confirm whether issue is still present with proper use of pacman -Syu"
This reverts commit 3882fbf21c.
2025-08-27 15:46:59 +02:00
David Heinemeier Hansson
2832c59970 Always --noconfirm 2025-08-27 15:40:48 +02:00
David Heinemeier Hansson
3882fbf21c Confirm whether issue is still present with proper use of pacman -Syu 2025-08-27 15:29:48 +02:00
David Heinemeier Hansson
5fec87d324 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
2025-08-27 15:24:18 +02:00
David Heinemeier Hansson
e5927fc1b2 Fix ghostty compatibility here too 2025-08-27 14:38:14 +02:00
David Heinemeier Hansson
175066ecba Fix migration not to add working-directory if already there
And make command line compatible with Ghostty too
2025-08-27 14:38:00 +02:00
David Heinemeier Hansson
cf4e1c0eb7 Better resilience for fetching the tags 2025-08-27 14:26:30 +02:00
David Heinemeier Hansson
b264c6540a Use floating terminal 2025-08-27 14:19:07 +02:00
David Heinemeier Hansson
90cdbd5504 Run the omarchy-update in a terminal process not owned by waybar so it'll survive being restarted 2025-08-27 14:14:03 +02:00
David Heinemeier Hansson
147242cbba Same permissions as everything 2025-08-27 14:13:23 +02:00
David Heinemeier Hansson
c09ac13f90 Add refresh fastfetch config 2025-08-27 12:59:31 +02:00
David Heinemeier Hansson
ec85068c67 Use omarchy-version 2025-08-27 12:59:21 +02:00
26 changed files with 48 additions and 45 deletions

View File

@@ -6,7 +6,7 @@ if [[ -z "$1" ]]; then
fi fi
install_php() { install_php() {
sudo pacman -Sy php composer php-sqlite --noconfirm sudo pacman -S php composer php-sqlite --noconfirm
# Install Path for Composer # Install Path for Composer
if [[ ":$PATH:" != *":$HOME/.config/composer/vendor/bin:"* ]]; then if [[ ":$PATH:" != *":$HOME/.config/composer/vendor/bin:"* ]]; then

View File

@@ -2,8 +2,7 @@
echo "Adding multilib repository for 32-bit compatibility" echo "Adding multilib repository for 32-bit compatibility"
sudo sed -i '/^\s*#\[multilib\]/,/^$/{s/^\s*#//}' /etc/pacman.conf sudo sed -i '/^\s*#\[multilib\]/,/^$/{s/^\s*#//}' /etc/pacman.conf
sudo pacman -Sy
echo "Now pick dependencies matching your graphics card" echo "Now pick dependencies matching your graphics card"
sudo pacman -S steam sudo pacman -Syu --noconfirm steam
setsid gtk-launch steam >/dev/null 2>&1 & setsid gtk-launch steam >/dev/null 2>&1 &

View File

@@ -0,0 +1,4 @@
#!/bin/bash
cmd="$*"
setsid alacritty --class Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"

View File

@@ -26,7 +26,7 @@ terminal() {
} }
present_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() { edit_in_nvim() {
@@ -35,23 +35,23 @@ edit_in_nvim() {
} }
install() { install() {
present_terminal "echo 'Installing $1...'; sudo pacman -Sy --noconfirm $2" present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm $2"
} }
install_and_launch() { 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() { 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() { 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() { 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() { show_learn_menu() {

View File

@@ -18,7 +18,7 @@ pkg_names=$(yay -Slqa | fzf "${fzf_args[@]}")
if [[ -n "$pkg_names" ]]; then if [[ -n "$pkg_names" ]]; then
# Convert newline-separated selections to space-separated for yay # 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 sudo updatedb
omarchy-show-done omarchy-show-done
fi fi

View File

@@ -14,12 +14,11 @@ fzf_args=(
--color 'pointer:green,marker:green' --color 'pointer:green,marker:green'
) )
sudo pacman -Sy
pkg_names=$(pacman -Slq | fzf "${fzf_args[@]}") pkg_names=$(pacman -Slq | fzf "${fzf_args[@]}")
if [[ -n "$pkg_names" ]]; then if [[ -n "$pkg_names" ]]; then
# Convert newline-separated selections to space-separated for yay # 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 sudo updatedb
omarchy-show-done omarchy-show-done
fi fi

3
bin/omarchy-refresh-fastfetch Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
omarchy-refresh-config fastfetch/config.jsonc

View File

@@ -1,13 +1,18 @@
#!/bin/bash #!/bin/bash
# Ensure remote is reachable # Get remote tag
if ! git -C "$OMARCHY_PATH" ls-remote &>/dev/null; then latest_tag=$(git -C "$OMARCHY_PATH" ls-remote --tags origin | grep -v "{}" | awk '{print $2}' | sed 's#refs/tags/##' | sort -V | tail -n 1)
echo "Error: Unable to reach remote repository." if [[ -z "$latest_tag" ]]; then
echo "Error: Could not retrieve latest tag."
exit 1 exit 1
fi 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)) 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 if [[ "$current_tag" != "$latest_tag" ]]; then
echo "Omarchy update available ($latest_tag)" echo "Omarchy update available ($latest_tag)"

View File

@@ -14,7 +14,7 @@ ansi_art=' ▄▄▄
clear clear
echo -e "\n$ansi_art\n" 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 # Use custom repo if specified, otherwise default to basecamp/omarchy
OMARCHY_REPO="${OMARCHY_REPO:-basecamp/omarchy}" OMARCHY_REPO="${OMARCHY_REPO:-basecamp/omarchy}"

View File

@@ -66,7 +66,7 @@
"type": "command", "type": "command",
"key": "\ue900 OS", "key": "\ue900 OS",
"keyColor": "blue", "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", "type": "kernel",

View File

@@ -2,7 +2,7 @@
$terminal = uwsm app -- alacritty $terminal = uwsm app -- alacritty
$browser = omarchy-launch-browser $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, F, File manager, exec, uwsm app -- nautilus --new-window
bindd = SUPER, B, Browser, exec, $browser bindd = SUPER, B, Browser, exec, $browser
bindd = SUPER, M, Music, exec, uwsm app -- spotify bindd = SUPER, M, Music, exec, uwsm app -- spotify

View File

@@ -46,7 +46,7 @@
"custom/update": { "custom/update": {
"format": "", "format": "",
"exec": "omarchy-update-available", "exec": "omarchy-update-available",
"on-click": "alacritty --class Omarchy --title Omarchy -e omarchy-update", "on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
"tooltip-format": "Omarchy update available", "tooltip-format": "Omarchy update available",
"interval": 3600 "interval": 3600
}, },

View File

@@ -36,7 +36,7 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then
fi fi
# force package database refresh # force package database refresh
sudo pacman -Syy sudo pacman -Syu --noconfirm
# Install packages # Install packages
PACKAGES_TO_INSTALL=( PACKAGES_TO_INSTALL=(

0
install/config/localdb.sh Normal file → Executable file
View File

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# Install build tools # 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 # Add fun and color and verbosity to the pacman installer
if ! grep -q "ILoveCandy" /etc/pacman.conf; then 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 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 echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
fi fi
# Refresh all repos
sudo pacman -Sy
else else
echo -e "Failed to install Chaotic-AUR, so won't include it in pacman config!" echo -e "Failed to install Chaotic-AUR, so won't include it in pacman config!"
fi fi
fi fi
# Allow repository index updates without sudo # Refresh all repos
sudo tee /etc/sudoers.d/repositories >/dev/null <<EOF sudo pacman -Syu --noconfirm
$USER ALL=(ALL) NOPASSWD: /usr/bin/pacman -Sy
EOF
sudo chmod 440 /etc/sudoers.d/repositories

View File

@@ -3,5 +3,5 @@ echo "Add Omarchy Package Repository"
if ! grep -q "omarchy" /etc/pacman.conf; then 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 sed -i '/^\[core\]/i [omarchy]\nSigLevel = Optional TrustAll\nServer = https:\/\/pkgs.omarchy.org\/$arch\/\n' /etc/pacman.conf
sudo systemctl restart systemd-timesyncd sudo systemctl restart systemd-timesyncd
sudo pacman -Sy sudo pacman -Syu --noconfirm
fi fi

View File

@@ -1,4 +1,4 @@
echo "Install Plymouth splash screen" echo "Install Plymouth splash screen"
sudo pacman -Sy --needed --noconfirm uwsm plymouth sudo pacman -S --needed --noconfirm uwsm plymouth
source "$HOME/.local/share/omarchy/install/login/plymouth.sh" source "$HOME/.local/share/omarchy/install/login/plymouth.sh"

View File

@@ -1,7 +1,7 @@
echo "Replace wofi with walker as the default launcher" echo "Replace wofi with walker as the default launcher"
if ! command -v walker &>/dev/null; then if ! command -v walker &>/dev/null; then
sudo pacman -Sy --noconfirm --needed walker-bin libqalculate sudo pacman -S --noconfirm --needed walker-bin libqalculate
sudo pacman -Rns --noconfirm wofi sudo pacman -Rns --noconfirm wofi
rm -rf ~/.config/wofi rm -rf ~/.config/wofi

View File

@@ -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 echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
# Refresh pacman package databases # Refresh pacman package databases
sudo pacman -Sy sudo pacman -Syu --noconfirm
else else
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!" echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
fi fi

View File

@@ -1,3 +1,3 @@
echo "Add xmlstarlet needed for updating fonts via Omarchy menu" echo "Add xmlstarlet needed for updating fonts via Omarchy menu"
sudo pacman -Sy --noconfirm --needed xmlstarlet sudo pacman -S --noconfirm --needed xmlstarlet

View File

@@ -1,4 +1,4 @@
echo "Update and restart Walker to resolve stuck Omarchy menu" 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 omarchy-restart-walker

View File

@@ -11,7 +11,7 @@ set_theme_colors() {
if command -v chromium &>/dev/null; then if command -v chromium &>/dev/null; then
sudo pacman -Rns --noconfirm chromium || true sudo pacman -Rns --noconfirm chromium || true
sudo pacman -Sy --noconfirm omarchy-chromium sudo pacman -S --noconfirm omarchy-chromium
if pgrep -x chromium; then if pgrep -x chromium; then
if gum confirm "Chromium must be restarted. Ready?"; then if gum confirm "Chromium must be restarted. Ready?"; then

View File

@@ -1,3 +1,3 @@
echo "Ensure latest uwsm is installed" echo "Ensure latest uwsm is installed"
sudo pacman -Sy --noconfirm uwsm sudo pacman -Syu --noconfirm uwsm

View File

@@ -1,3 +1,5 @@
echo "Use current terminal shell cwd for new terminal working directories" 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

View File

@@ -1,6 +0,0 @@
echo "Allow pacman -Sy without sudo to easier installs"
sudo tee /etc/sudoers.d/repositories >/dev/null <<EOF
$USER ALL=(ALL) NOPASSWD: /usr/bin/pacman -Sy
EOF
sudo chmod 440 /etc/sudoers.d/repositories

3
migrations/1756300740.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Remove no-longer-needed sudoless package listing updates"
sudo rm -f /etc/sudoers.d/repositories