Compare commits

...

32 Commits

Author SHA1 Message Date
David Heinemeier Hansson
cd378a55a2 Merge pull request #1232 from basecamp/dev
Omarchy 2.0.5
2025-08-28 11:14:58 +02:00
Ryan Hughes
4480b3638f Merge pull request #1160 from michielryvers/snapper-existing-configs
Don't hardcode snapper configs, read the config list first
2025-08-28 12:12:15 +03:00
Ryan Hughes
5f2b6566f1 Add missing configs if user already had snapper 2025-08-28 12:11:26 +03:00
David Heinemeier Hansson
b4d76cecdf Stop restarting waybar on unlock to see if we have solved the stacking problem for good 2025-08-28 10:58:39 +02:00
michielryvers
52dcf01987 Merge branch 'dev' into snapper-existing-configs 2025-08-28 10:54:20 +02:00
David Heinemeier Hansson
91dadc905d Let user know why we are asking for sudo 2025-08-28 10:50:20 +02:00
David Heinemeier Hansson
69f5c62f8f pacman actually does this itself 2025-08-28 10:42:41 +02:00
David Heinemeier Hansson
e3df85ba8c Switch to the new Font Awesome 7.0 package 2025-08-28 10:41:05 +02:00
David Heinemeier Hansson
3f2e282c46 Ensure walker doesn't walk off into the night
Closes #1226
2025-08-28 10:29:36 +02:00
David Heinemeier Hansson
06b15257e2 Fix repo setup 2025-08-28 09:21:47 +02:00
David Heinemeier Hansson
33d6d38332 Include Omarchy branch in About (#1231) 2025-08-28 09:05:26 +02:00
David Heinemeier Hansson
30ad634349 Move OPR behind Arch default repos (#1229)
* Move OPR behind Arch default repos

* No longer first
2025-08-28 08:47:42 +02:00
Roberto Aguilar
6e3d023fee 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!
2025-08-28 07:55:51 +02:00
David Heinemeier Hansson
950f1f0adc Merge pull request #1223 from basecamp/dev
Omarchy v2.0.4
2025-08-28 07:10:37 +02:00
David Heinemeier Hansson
126131daa1 Merge branch 'master' into dev 2025-08-28 07:08:55 +02:00
David Heinemeier Hansson
4e7aa33868 Don't need to start immediately 2025-08-28 07:05:03 +02:00
David Heinemeier Hansson
a34b7bd131 Remove entirely 2025-08-28 06:58:10 +02:00
David Heinemeier Hansson
2c751a0920 Stop pinning 2025-08-28 06:47:32 +02:00
David Heinemeier Hansson
42f7f5f558 Hopefully no longer needed 2025-08-28 06:38:48 +02:00
David Heinemeier Hansson
c56c192b89 Set keyboard layout in the correct default file 2025-08-27 21:15:48 +02:00
David Heinemeier Hansson
203dcce898 Order of appearance 2025-08-27 21:05:38 +02:00
David Heinemeier Hansson
e337c0bbdc Merge pull request #1178 from cstrickjacke/waybar-power-menu
make clicking on the battery icon open the power menu
2025-08-27 21:04:17 +02:00
David Heinemeier Hansson
512df06f36 Don't need output for success 2025-08-27 20:49:34 +02:00
David Heinemeier Hansson
71fe2cbafd Merge pull request #1188 from bastnic/patch-1
Fix keyboard layout at install
2025-08-27 20:24:48 +02:00
Bastien Jaillot
37d10feba3 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.
2025-08-27 18:14:27 +02:00
David Heinemeier Hansson
d94715d59e Merge pull request #1174 from basecamp/dev
Omarchy 2.0.3
2025-08-27 16:11:01 +02:00
Cai Strickland
393767cbec 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. :)
2025-08-27 15:49:33 +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
Michiel Ryvers
613f4a473d Don't hardcode snapper configs, read the config list first 2025-08-27 11:08:16 +02:00
35 changed files with 83 additions and 52 deletions

View File

@@ -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
@@ -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"
;;

View File

@@ -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 --noconfirm steam
setsid gtk-launch steam >/dev/null 2>&1 &

View File

@@ -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() {
@@ -377,11 +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' ;;
*system*) show_system_menu ;;
esac
}

View File

@@ -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

View File

@@ -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

View File

@@ -1,4 +1,4 @@
#!/bin/bash
echo "Resetting sudo lockout for user: $USER"
# Resetting sudo lockout for user
su -c "faillock --reset --user $USER"

View File

@@ -16,9 +16,15 @@ case "$COMMAND" in
create)
DESC="$(omarchy-version)"
for config in root home; do
echo -e "\e[32mCreate system snapshot\e[0m"
# Get existing snapper config names from CSV output
mapfile -t CONFIGS < <(sudo snapper --csvout list-configs | awk -F, 'NR>1 {print $1}')
for config in "${CONFIGS[@]}"; do
sudo snapper -c "$config" create -c number -d "$DESC"
done
echo
;;
restore)
sudo limine-snapper-restore

3
bin/omarchy-version-branch Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
echo $(git -C "$OMARCHY_PATH" rev-parse --abbrev-ref HEAD)

View File

@@ -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}"

View File

@@ -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": "│ ├",

View File

@@ -2,7 +2,6 @@ general {
lock_cmd = omarchy-lock-screen # lock screen and 1password
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
on_unlock_cmd = omarchy-restart-waybar # prevent stacking of waybar when waking
inhibit_sleep = 3 # wait until screen is locked
}

View File

@@ -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

View File

@@ -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

View File

@@ -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 '"')

View File

@@ -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

View File

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

View File

@@ -1 +0,0 @@
abseil-cpp

View File

@@ -1 +0,0 @@
https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst

View File

@@ -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 \

View File

@@ -1,16 +1,16 @@
#!/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
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
@@ -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 <<EOF
$USER ALL=(ALL) NOPASSWD: /usr/bin/pacman -Sy
EOF
sudo chmod 440 /etc/sudoers.d/repositories
# Refresh all repos
sudo pacman -Syu --noconfirm

View File

@@ -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 -Sy
sudo pacman -Syu --noconfirm
fi

View File

@@ -1,4 +1,4 @@
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"

View File

@@ -1,7 +1,7 @@
echo "Replace wofi with walker as the default launcher"
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
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
# Refresh pacman package databases
sudo pacman -Sy
sudo pacman -Syu --noconfirm
else
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
fi

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

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

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

10
migrations/1756153445.sh Normal file
View File

@@ -0,0 +1,10 @@
echo "Checking and correcting Snapper configs if needed"
if command -v snapper &>/dev/null; then
if ! sudo snapper list-configs 2>/dev/null | grep -q "root"; then
sudo snapper -c root create-config /
fi
if ! sudo snapper list-configs 2>/dev/null | grep -q "home"; then
sudo snapper -c home create-config /home
fi
fi

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

6
migrations/1756360551.sh Normal file
View File

@@ -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'

3
migrations/1756363651.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Update About config to include the Omarchy branch name"
omarchy-refresh-fastfetch

4
migrations/1756365707.sh Normal file
View File

@@ -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

3
migrations/1756371020.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Stop restarting waybar on unlock to see if we have solved the stacking problem for good"
omarchy-refresh-hypridle