mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Compare commits
36 Commits
share-pick
...
v3.2.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32592e2e28 | ||
|
|
adf7fba2b3 | ||
|
|
021d66f9b6 | ||
|
|
1a34be257c | ||
|
|
1f4c50eddf | ||
|
|
92af9f41f2 | ||
|
|
8ed20d0524 | ||
|
|
2d00b2a02f | ||
|
|
97396f5fb2 | ||
|
|
46c85e49a3 | ||
|
|
8357dd3da2 | ||
|
|
860624d3f4 | ||
|
|
a15d3740a9 | ||
|
|
7b05dcfe0c | ||
|
|
df8b69bf27 | ||
|
|
f39c2a91a5 | ||
|
|
906baa8fee | ||
|
|
457b954db5 | ||
|
|
9b78e3c571 | ||
|
|
88e9c9db49 | ||
|
|
64a8d7bb04 | ||
|
|
c11a1c7989 | ||
|
|
c37ef6d78c | ||
|
|
4d5dab3e32 | ||
|
|
133d54f600 | ||
|
|
4194c649a1 | ||
|
|
33eabb0c88 | ||
|
|
573cbd8ec3 | ||
|
|
fec0731c17 | ||
|
|
0a9e7205c3 | ||
|
|
a810b8058b | ||
|
|
930246aee5 | ||
|
|
f9450e1fb7 | ||
|
|
d6dc1c7b86 | ||
|
|
e39269f9f0 | ||
|
|
74f2900db1 |
Binary file not shown.
|
Before Width: | Height: | Size: 932 KiB After Width: | Height: | Size: 53 KiB |
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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 ;;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
4
bin/omarchy-update-without-idle
Executable file
4
bin/omarchy-update-without-idle
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Ensure screensaver/sleep doesn't set in during updates
|
||||
hyprctl dispatch tagwindow +noidle &> /dev/null
|
||||
@@ -43,3 +43,7 @@ provider = "websearch"
|
||||
[[providers.prefixes]]
|
||||
prefix = "$"
|
||||
provider = "clipboard"
|
||||
|
||||
[[emergencies]]
|
||||
text = "Restart Walker"
|
||||
command = "omarchy-restart-walker"
|
||||
|
||||
@@ -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}",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
11
migrations/1758455816.sh
Normal 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
|
||||
@@ -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
11
migrations/1765729055.sh
Normal 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
7
migrations/1765739892.sh
Normal 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
2
migrations/1765744321.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
echo "Increase faillock attempts to 10"
|
||||
sudo sed -i 's/^# *deny = .*/deny = 10/' /etc/security/faillock.conf
|
||||
Reference in New Issue
Block a user