Compare commits

...

36 Commits

Author SHA1 Message Date
David Heinemeier Hansson
32592e2e28 Merge pull request #3852 from basecamp/dev
Omarchy 3.2.3
2025-12-15 14:09:38 -08:00
David Heinemeier Hansson
adf7fba2b3 Prepare for release 2025-12-15 10:20:44 -08:00
David Heinemeier Hansson
021d66f9b6 Channel changes should prompt a full update 2025-12-15 10:04:00 -08:00
David Heinemeier Hansson
1a34be257c Add backdoor to start alacritty
Will help folks who have trouble with ghostty to still get a terminal
going
2025-12-15 09:58:08 -08:00
David Heinemeier Hansson
1f4c50eddf Pull noidle setting out into its own step 2025-12-15 09:55:09 -08:00
Ryan Hughes
92af9f41f2 Reorder 2025-12-15 12:38:28 -05:00
Ryan Hughes
8ed20d0524 And create the folder 2025-12-15 12:35:47 -05:00
Ryan Hughes
2d00b2a02f Actually add the config in the migration 2025-12-15 12:35:05 -05:00
David Heinemeier Hansson
97396f5fb2 Fix excessive size for Fizzy 2025-12-15 08:28:28 -08:00
Wolfgang Woehl
46c85e49a3 Quit Walker before screensaver launch (#3873)
Screensaver launch is broken when Walker is open: It will fail to go fullscreen and exits right after input read's first iteration, due to the screensaver_in_focus() check. See https://github.com/basecamp/omarchy/issues/2992 for an example report.

This addition will silently quit an opened Walker menu before launching the screensaver terminal. It is mildly intrusive, alas, as a return from screensaver will not present the pre-screensaver state exactly.
2025-12-15 08:24:31 -08:00
David Heinemeier Hansson
8357dd3da2 Use the traffic light metaphor for channel setting 2025-12-14 12:40:12 -08:00
David Heinemeier Hansson
860624d3f4 Add channel setting menu 2025-12-14 12:34:20 -08:00
Ryan Hughes
a15d3740a9 Increase faillock to 10 2025-12-14 15:32:40 -05:00
Ryan Hughes
7b05dcfe0c Merge pull request #1894 from sgruendel/mkinitcpio_module_thunderbolt
Add thunderbolt module in omarchy hook.
2025-12-14 15:25:55 -05:00
Ryan Hughes
df8b69bf27 Add portal restart to pickup changes 2025-12-14 15:24:48 -05:00
David Heinemeier Hansson
f39c2a91a5 Run the migration after switching channel 2025-12-14 12:24:20 -08:00
Ryan Hughes
906baa8fee Rework migration 2025-12-14 15:19:35 -05:00
Ryan Hughes
457b954db5 Move module to a separate file 2025-12-14 15:19:25 -05:00
Ryan Hughes
9b78e3c571 Enable btrfs quota to allow space-aware algorithms to work
Co-authored-by: Raul Salinas <nacapulque@gmail.com>

Replaces #3858

Fixes #3850
Fixes #3055
2025-12-14 14:23:28 -05:00
Ryan Hughes
88e9c9db49 Tell the user what we're doing 2025-12-14 14:19:37 -05:00
Ryan Hughes
64a8d7bb04 Add new default limine location for archinstall
Co-authored-by: madhurdhama <madhurdhama@gmail.com>
2025-12-14 13:06:43 -05:00
Ryan Hughes
c11a1c7989 Merge pull request #3492 from SoAp9035/fix-limine-uki-path
fix the UKI directory checks in omarchy-refresh-limine
2025-12-14 12:51:46 -05:00
Ryan Hughes
c37ef6d78c Update limine logic to check all .conf locations
Co-authored-by: Tjalve Aarflot <tjalve.github@proton.me>
2025-12-14 12:47:21 -05:00
Ryan Hughes
4d5dab3e32 Add walker emergency mode entry 2025-12-14 11:33:43 -05:00
Ryan Hughes
133d54f600 Refresh daemon if we change it 2025-12-14 11:32:39 -05:00
Ryan Hughes
4194c649a1 Restarts handled via systemd now 2025-12-14 11:09:16 -05:00
Ryan Hughes
33eabb0c88 Change to non-git version 2025-12-13 20:29:31 -05:00
Ryan Hughes
573cbd8ec3 Prevent idle while updating 2025-12-13 19:12:25 -05:00
Ryan Hughes
fec0731c17 Merge pull request #3857 from basecamp/share-picker
Add better portal share picker
2025-12-13 00:50:27 -05:00
Stefan Gründel
0a9e7205c3 add bolt to omarchy base packages 2025-12-01 13:34:24 +01:00
Stefan Gründel
a810b8058b Merge branch 'dev' into mkinitcpio_module_thunderbolt 2025-12-01 13:29:23 +01:00
Ahmet Burhan Kayalı
930246aee5 Merge branch 'basecamp:master' into fix-limine-uki-path 2025-11-26 10:22:13 +03:00
SoAp9035
f9450e1fb7 Fix limine UKI cleanup path 2025-11-21 10:59:08 +03:00
Stefan Gründel
d6dc1c7b86 add bolt to omarchy base packages 2025-09-27 13:55:46 +02:00
Stefan Gruendel
e39269f9f0 add migration script 2025-09-23 20:52:17 +02:00
Stefan Gruendel
74f2900db1 Add thunderbolt module in omarchy hook. 2025-09-23 06:40:56 +02:00
22 changed files with 106 additions and 32 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 932 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -13,3 +13,5 @@ case "$channel" in
"dev") omarchy-branch-set "dev" && omarchy-refresh-pacman "edge" ;;
*) echo "Unknown channel: $channel"; exit 1; ;;
esac
omarchy-update -y

View File

@@ -13,6 +13,9 @@ if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]
exit 1
fi
# Silently quit Walker on overlay
walker -q
focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
terminal=$(xdg-terminal-exec --print-id)

View File

@@ -378,8 +378,9 @@ show_remove_menu() {
}
show_update_menu() {
case $(menu "Update" " Omarchy\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Firmware\n Password\n Timezone\n Time") in
case $(menu "Update" " Omarchy\n󰔫 Channel\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Firmware\n Password\n Timezone\n Time") in
*Omarchy*) present_terminal omarchy-update ;;
*Channel*) show_update_channel_menu ;;
*Config*) show_update_config_menu ;;
*Themes*) present_terminal omarchy-theme-update ;;
*Process*) show_update_process_menu ;;
@@ -392,6 +393,14 @@ show_update_menu() {
esac
}
show_update_channel_menu() {
case $(menu "Update channel" "🟢 Stable\n🟡 Edge\n🔴 Dev") in
*Stable*) present_terminal "omarchy-channel-set stable" ;;
*Edge*) present_terminal "omarchy-channel-set edge" ;;
*Dev*) present_terminal "omarchy-channel-set dev" ;;
*) show_update_menu ;;
esac
}
show_update_process_menu() {
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
*Hypridle*) omarchy-restart-hypridle ;;

View File

@@ -1,6 +1,6 @@
#!/bin/bash
if [[ -f /boot/EFI/linux/omarchy_linux.efi ]] && [[ -f /boot/EFI/linux/$(cat /etc/machine-id)_linux.efi ]]; then
if [[ -f /boot/EFI/Linux/omarchy_linux.efi ]] && [[ -f /boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi ]]; then
echo "Cleanup extra UKI"
sudo rm -f /boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi
fi

View File

@@ -20,6 +20,3 @@ echo
# Reset all package DBs and then update
sudo pacman -Syyu --noconfirm
# Offer a reboot if a new kernel was installed
omarchy-update-restart

View File

@@ -3,6 +3,7 @@
# Ensure walker is set to autostart
mkdir -p ~/.config/autostart/
cp $OMARCHY_PATH/autostart/walker.desktop ~/.config/autostart/
systemctl --user daemon-reload
omarchy-refresh-config walker/config.toml
omarchy-refresh-config elephant/calc.toml

View File

@@ -1,8 +1,5 @@
#!/bin/bash
pkill elephant
pkill walker
# Detect if we're running as root (from pacman hook)
if [[ $EUID -eq 0 ]]; then
# Get the owner of this script to determine which user to run as
@@ -13,10 +10,9 @@ if [[ $EUID -eq 0 ]]; then
systemd-run --uid="$SCRIPT_OWNER" --setenv=XDG_RUNTIME_DIR="/run/user/$USER_UID" \
bash -c "
systemctl --user restart elephant.service
setsid walker --gapplication-service &
systemctl --user restart app-walker@autostart.service
"
else
elephant service enable 2>/dev/null
systemctl --user restart elephant.service
setsid walker --gapplication-service &
systemctl --user restart app-walker@autostart.service
fi

View File

@@ -4,7 +4,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 omarchy-update-confirm; then
if [[ $1 == "-y" ]] || omarchy-update-confirm; then
omarchy-update-without-idle
omarchy-snapshot create || [ $? -eq 127 ]
omarchy-update-git
omarchy-update-perform

View File

@@ -0,0 +1,4 @@
#!/bin/bash
# Ensure screensaver/sleep doesn't set in during updates
hyprctl dispatch tagwindow +noidle &> /dev/null

View File

@@ -43,3 +43,7 @@ provider = "websearch"
[[providers.prefixes]]
prefix = "$"
provider = "clipboard"
[[emergencies]]
text = "Restart Walker"
command = "omarchy-restart-walker"

View File

@@ -57,7 +57,8 @@
"cpu": {
"interval": 5,
"format": "󰍛",
"on-click": "omarchy-launch-or-focus-tui btop"
"on-click": "omarchy-launch-or-focus-tui btop",
"on-click-right": "alacritty"
},
"clock": {
"format": "{:L%A %H:%M}",

View File

@@ -16,3 +16,6 @@ windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.S
# Popped window rounding
windowrule = rounding 8, tag:pop
# Prevent idle while open
windowrule = idleinhibit always, tag:noidle

View File

@@ -1,3 +1,6 @@
# Give the user 10 instead of 3 tries to fat finger their password before lockout
echo "Defaults passwd_tries=10" | sudo tee /etc/sudoers.d/passwd-tries
sudo chmod 440 /etc/sudoers.d/passwd-tries
# Set for hyprlock too
sudo sed -i 's/^# *deny = .*/deny = 10/' /etc/security/faillock.conf

View File

@@ -3,25 +3,27 @@ if command -v limine &>/dev/null; then
sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf <<EOF >/dev/null
HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs)
EOF
sudo tee /etc/mkinitcpio.conf.d/thunderbolt_module.conf <<EOF >/dev/null
MODULES+=(thunderbolt)
EOF
[[ -f /boot/EFI/limine/limine.conf ]] || [[ -f /boot/EFI/BOOT/limine.conf ]] && EFI=true
# Detect boot mode
[[ -d /sys/firmware/efi ]] && EFI=true
# Conf location is different between EFI and BIOS
if [[ -n "$EFI" ]]; then
# Check USB location first, then regular EFI location
if [[ -f /boot/EFI/BOOT/limine.conf ]]; then
limine_config="/boot/EFI/BOOT/limine.conf"
else
limine_config="/boot/EFI/limine/limine.conf"
fi
else
# Find config location
if [[ -f /boot/EFI/arch-limine/limine.conf ]]; then
limine_config="/boot/EFI/arch-limine/limine.conf"
elif [[ -f /boot/EFI/BOOT/limine.conf ]]; then
limine_config="/boot/EFI/BOOT/limine.conf"
elif [[ -f /boot/EFI/limine/limine.conf ]]; then
limine_config="/boot/EFI/limine/limine.conf"
elif [[ -f /boot/limine/limine.conf ]]; then
limine_config="/boot/limine/limine.conf"
fi
# Double-check and exit if we don't have a config file for some reason
if [[ ! -f $limine_config ]]; then
echo "Error: Limine config not found at $limine_config" >&2
elif [[ -f /boot/limine.conf ]]; then
limine_config="/boot/limine.conf"
else
echo "Error: Limine config not found" >&2
exit 1
fi
@@ -95,10 +97,15 @@ EOF
fi
fi
# Enable quota to allow space-aware algorithms to work
sudo btrfs quota enable /
# Tweak default Snapper configs
sudo sed -i 's/^TIMELINE_CREATE="yes"/TIMELINE_CREATE="no"/' /etc/snapper/configs/{root,home}
sudo sed -i 's/^NUMBER_LIMIT="50"/NUMBER_LIMIT="5"/' /etc/snapper/configs/{root,home}
sudo sed -i 's/^NUMBER_LIMIT_IMPORTANT="10"/NUMBER_LIMIT_IMPORTANT="5"/' /etc/snapper/configs/{root,home}
sudo sed -i 's/^SPACE_LIMIT="0.5"/SPACE_LIMIT="0.3"/' /etc/snapper/configs/{root,home}
sudo sed -i 's/^FREE_LIMIT="0.2"/FREE_LIMIT="0.3"/' /etc/snapper/configs/{root,home}
chrootable_systemctl_enable limine-snapper-sync.service
fi

View File

@@ -10,6 +10,7 @@ avahi
bash-completion
bat
bluetui
bolt
brightnessctl
btop
clang
@@ -47,7 +48,7 @@ gvfs-smb
hypridle
hyprland
hyprland-guiutils
hyprland-preview-share-picker-git
hyprland-preview-share-picker
hyprlock
hyprpicker
hyprsunset

11
migrations/1758455816.sh Normal file
View File

@@ -0,0 +1,11 @@
echo "Add thunderbolt support to boot image"
omarchy-pkg-add bolt
if [[ ! -f /etc/mkinitcpio.conf.d/thunderbolt_module.conf ]]; then
sudo tee /etc/mkinitcpio.conf.d/thunderbolt_module.conf <<EOF >/dev/null
MODULES+=(thunderbolt)
EOF
fi
sudo limine-update

View File

@@ -1,6 +1,17 @@
echo "Add custom share portal picker"
omarchy-pkg-add hyprland-preview-share-picker-git
omarchy-pkg-add hyprland-preview-share-picker
mkdir -p ~/.config/hyprland-preview-share-picker
omarchy-refresh-config hyprland-preview-share-picker/config.yaml
if ! grep -q "custom_picker_binary" ~/.config/hypr/xdph.conf; then
sed -i '/screencopy {/a\ custom_picker_binary = hyprland-preview-share-picker' ~/.config/hypr/xdph.conf
sed -i '/screencopy {/a\ custom_picker_binary = hyprland-preview-share-picker' ~/.config/hypr/xdph.conf
fi
sleep 1
killall -e xdg-desktop-portal-hyprland
killall -e xdg-desktop-portal-wlr
killall xdg-desktop-portal
/usr/lib/xdg-desktop-portal-hyprland &
sleep 2
/usr/lib/xdg-desktop-portal &

11
migrations/1765729055.sh Normal file
View File

@@ -0,0 +1,11 @@
echo "Add emergency entry for Walker"
CONFIG_FILE="$HOME/.config/walker/config.toml"
if [[ -f "$CONFIG_FILE" ]] && ! grep -q 'command = "omarchy-restart-walker"' "$CONFIG_FILE"; then
cat >> "$CONFIG_FILE" << 'EOF'
[[emergencies]]
text = "Restart Walker"
command = "omarchy-restart-walker"
EOF
fi

7
migrations/1765739892.sh Normal file
View File

@@ -0,0 +1,7 @@
if omarchy-cmd-present btrfs && omarchy-cmd-present snapper; then
echo "Adjust snapper space limits & enable btrfs quota"
sudo sed -i 's/^SPACE_LIMIT="0.5"/SPACE_LIMIT="0.3"/' /etc/snapper/configs/{root,home} 2>/dev/null
sudo sed -i 's/^FREE_LIMIT="0.2"/FREE_LIMIT="0.3"/' /etc/snapper/configs/{root,home} 2>/dev/null
sudo btrfs quota enable /
fi

2
migrations/1765744321.sh Normal file
View File

@@ -0,0 +1,2 @@
echo "Increase faillock attempts to 10"
sudo sed -i 's/^# *deny = .*/deny = 10/' /etc/security/faillock.conf

View File

@@ -1 +1 @@
3.2.2
3.2.3