Merge branch 'dev' into rc

This commit is contained in:
David Heinemeier Hansson
2026-04-30 21:45:16 +02:00
17 changed files with 120 additions and 26 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
encrypted_drives=$(blkid -t TYPE=crypto_LUKS -o device)
if [[ -n $encrypted_drives ]]; then
if (( $(wc -l <<<encrypted_drives) == 1 )); then
if (( $(wc -l <<<"$encrypted_drives") == 1 )); then
drive_to_change="$encrypted_drives"
else
drive_to_change="$(omarchy-drive-select "$encrypted_drives")"
+2
View File
@@ -41,3 +41,5 @@ for APP_NAME in "${APP_NAMES[@]}"; do
rm -f "$ICON_DIR/$APP_NAME.png"
echo "Removed $APP_NAME"
done
omarchy-restart-walker
+2
View File
@@ -33,4 +33,6 @@ if command -v update-desktop-database &>/dev/null; then
update-desktop-database "$APP_DIR" &>/dev/null || true
fi
omarchy-restart-walker
echo "Web apps removed successfully."
+1 -1
View File
@@ -10,7 +10,7 @@ bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify
bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor
bindd = SUPER SHIFT, D, Docker, exec, omarchy-launch-tui lazydocker
bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop"
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian"
bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password
+3
View File
@@ -0,0 +1,3 @@
# Obsidian reads this file through the Arch package wrapper.
-disable-gpu
--enable-wayland-ime
+1 -1
View File
@@ -8,7 +8,7 @@ bindd = SUPER, N, Neovim, exec, $terminal -e nvim
bindd = SUPER, T, Top, exec, $terminal -e btop
bindd = SUPER, D, Lazy Docker, exec, $terminal -e lazydocker
bindd = SUPER, G, Messenger, exec, $messenger
bindd = SUPER, O, Obsidian, exec, obsidian -disable-gpu
bindd = SUPER, O, Obsidian, exec, obsidian
bindd = SUPER, SLASH, Password manager, exec, $passwordManager
source = ~/.local/share/omarchy/default/hypr/bindings/media.conf
+1 -1
View File
@@ -2,7 +2,7 @@
#timeout: 3
default_entry: 2
interface_branding: Omarchy Bootloader
interface_branding_color: 2
interface_branding_color: 9ece6a
hash_mismatch_panic: no
term_background: 1a1b26
+1 -1
View File
@@ -2,7 +2,7 @@
# - BCM4360 (20132015 MacBooks)
# - BCM4331 (2012, early 2013 MacBooks)
pci_info=$(lspci -nnv)
pci_info=$(lspci -nn)
if (echo "$pci_info" | grep -q "14e4:43a0" || echo "$pci_info" | grep -q "14e4:4331"); then
echo "BCM4360 / BCM4331 detected"
+5 -5
View File
@@ -1,8 +1,8 @@
# Install Panther Lake kernel for Intel Panther Lake systems
# Install Panther Lake kernel for Dell XPS Panther Lake systems
# The linux-ptl kernel includes audio driver patches not yet in mainline.
if omarchy-hw-intel-ptl; then
echo "Detected Intel Panther Lake, installing PTL kernel..."
if omarchy-hw-match "XPS" && omarchy-hw-intel-ptl; then
echo "Detected Dell XPS Panther Lake, installing PTL kernel..."
omarchy-pkg-add linux-ptl linux-ptl-headers
for pkg in linux linux-headers; do
@@ -10,8 +10,8 @@ if omarchy-hw-intel-ptl; then
done
sudo mkdir -p /etc/limine-entry-tool.d
cat <<EOF | sudo tee /etc/limine-entry-tool.d/intel-panther-lake.conf >/dev/null
# Only show Panther Lake kernel in boot menu
cat <<EOF | sudo tee /etc/limine-entry-tool.d/dell-xps-panther-lake.conf >/dev/null
# Only show Panther Lake kernel in boot menu on Dell XPS Panther Lake
BOOT_ORDER="linux-ptl*, *fallback, Snapshots"
EOF
fi
+8 -7
View File
@@ -5,6 +5,14 @@ sudo ln -snf /usr/share/icons/Adwaita/symbolic/actions/go-next-symbolic.svg /usr
# Setup user theme folder
mkdir -p ~/.config/omarchy/themes
# Add managed policy directories for Chromium and Brave for theme changes.
# Must exist before the first omarchy-theme-set, which writes color.json into them.
sudo mkdir -p /etc/chromium/policies/managed
sudo chmod a+rw /etc/chromium/policies/managed
sudo mkdir -p /etc/brave/policies/managed
sudo chmod a+rw /etc/brave/policies/managed
# Set initial theme
omarchy-theme-set "Tokyo Night"
rm -rf ~/.config/chromium/SingletonLock # otherwise archiso will own the chromium singleton
@@ -16,12 +24,5 @@ ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current
mkdir -p ~/.config/mako
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
# Add managed policy directories for Chromium and Brave for theme changes
sudo mkdir -p /etc/chromium/policies/managed
sudo chmod a+rw /etc/chromium/policies/managed
sudo mkdir -p /etc/brave/policies/managed
sudo chmod a+rw /etc/brave/policies/managed
# Default Chromium to follow system appearance ("device") instead of dark
echo '{"browser":{"theme":{"color_scheme":0,"color_scheme2":0}}}' | sudo tee /usr/lib/chromium/initial_preferences >/dev/null
+8 -3
View File
@@ -1,6 +1,4 @@
if command -v limine &>/dev/null; then
sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook
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
@@ -29,6 +27,10 @@ EOF
CMDLINE=$(grep "^[[:space:]]*cmdline:" "$limine_config" | head -1 | sed 's/^[[:space:]]*cmdline:[[:space:]]*//')
# Write /etc/default/limine *before* installing limine-mkinitcpio-hook, whose
# post-transaction deploy hook runs limine-install and reads this file. Without
# it, ESP_PATH falls back to bootctl, which in a chroot prints a warning that
# gets captured as the path and trips a spurious "invalid ESP" error.
sudo cp $OMARCHY_PATH/default/limine/default.conf /etc/default/limine
sudo sed -i "s|@@CMDLINE@@|$CMDLINE|g" /etc/default/limine
@@ -42,7 +44,8 @@ EOF
sudo sed -i '/^ENABLE_UKI=/d; /^ENABLE_LIMINE_FALLBACK=/d' /etc/default/limine
fi
# Remove the original config file if it's not /boot/limine.conf
# Remove the original config file if it's not /boot/limine.conf, so the deploy
# hook doesn't see conflicting configs on the same ESP.
if [[ $limine_config != "/boot/limine.conf" ]] && [[ -f $limine_config ]]; then
sudo rm "$limine_config"
fi
@@ -50,6 +53,8 @@ EOF
# We overwrite the whole thing knowing the limine-update will add the entries for us
sudo cp $OMARCHY_PATH/default/limine/limine.conf /boot/limine.conf
sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook
# Only snapshot root — /home is user data; rolling it back loses user work
if ! sudo snapper list-configs 2>/dev/null | grep -q "root"; then
sudo snapper -c root create-config /
-5
View File
@@ -12,11 +12,8 @@ egl-wayland
git
gst-plugin-pipewire
gtk4-layer-shell
htop
intltool
jdk-openjdk
libpulse
libsass
intel-ipu7-camera
intel-lpmd
intel-media-driver
@@ -43,11 +40,9 @@ pipewire-alsa
pipewire-jack
pipewire-pulse
qt6-wayland
sassc
snapper
thermald
webp-pixbuf-loader
wget
yay-debug
tuxedo-drivers-nocompatcheck-dkms
yt6801-dkms
+29
View File
@@ -0,0 +1,29 @@
echo "Move Obsidian flags from Hyprland binding to Obsidian user flags"
OBSIDIAN_FLAGS_FILE="$HOME/.config/obsidian/user-flags.conf"
OBSIDIAN_DEFAULT_FLAGS_FILE="$OMARCHY_PATH/config/obsidian/user-flags.conf"
mkdir -p "$(dirname "$OBSIDIAN_FLAGS_FILE")"
if [[ ! -f $OBSIDIAN_FLAGS_FILE ]]; then
cp "$OBSIDIAN_DEFAULT_FLAGS_FILE" "$OBSIDIAN_FLAGS_FILE"
else
missing_flags=$(grep -vE '^(#|$)' "$OBSIDIAN_DEFAULT_FLAGS_FILE" | grep -vxFf "$OBSIDIAN_FLAGS_FILE" || true)
if [[ -n $missing_flags ]]; then
{
echo
echo "# Added by Omarchy migration 1776434586: Obsidian launch flags moved from Hyprland binding."
printf "%s\n" "$missing_flags"
} >>"$OBSIDIAN_FLAGS_FILE"
fi
fi
if [[ -f ~/.config/hypr/bindings.conf ]]; then
sed -i '/Obsidian, exec/ {
s/ -disable-gpu//g
s/ --disable-gpu//g
s/ --enable-wayland-ime//g
s/"uwsm app -- obsidian/"uwsm-app -- obsidian/g
}' ~/.config/hypr/bindings.conf
fi
+36
View File
@@ -0,0 +1,36 @@
echo "Replace deprecated sainnhe.everforest VSCode extension with reesew.everforest-theme"
# Background:
# The original "sainnhe.everforest" extension is no longer maintained — its
# upstream repo (https://github.com/sainnhe/everforest-vscode) was archived
# by the author, so it receives no updates or fixes.
# "reesew.everforest-theme" is a maintained fork of that same extension,
# published from https://github.com/reese/everforest-vscode, and is the
# replacement we now ship in themes/everforest/vscode.json.
# For each VS Code variant, uninstall the old extension and re-apply theme if the
# current Omarchy theme is everforest (which will install the new extension automatically).
uninstall_old_extension() {
local editor_cmd="$1"
omarchy-cmd-present "$editor_cmd" || return 0
if "$editor_cmd" --list-extensions | grep -Fxq "sainnhe.everforest"; then
"$editor_cmd" --uninstall-extension sainnhe.everforest >/dev/null
fi
}
uninstall_old_extension "code"
uninstall_old_extension "code-insiders"
uninstall_old_extension "codium"
uninstall_old_extension "cursor"
# If the user is currently on the everforest theme, refresh it so the updated
# vscode.json (with reesew.everforest-theme) is copied into ~/.config/omarchy/current/theme,
# then omarchy-theme-set-vscode (called by the refresh) installs the new extension.
THEME_NAME_PATH="$HOME/.config/omarchy/current/theme.name"
if [[ -f $THEME_NAME_PATH ]] && [[ "$(cat "$THEME_NAME_PATH")" == "everforest" ]]; then
omarchy-theme-refresh
fi
+5
View File
@@ -0,0 +1,5 @@
echo "Update interface_branding_color for limine 12 (palette index -> RRGGBB)"
if [[ -f /boot/limine.conf ]]; then
sudo sed -i 's/^interface_branding_color: 2$/interface_branding_color: 9ece6a/' /boot/limine.conf
fi
+16
View File
@@ -0,0 +1,16 @@
echo "Restore stock kernel on non-XPS Panther Lake systems"
if omarchy-hw-intel-ptl && ! omarchy-hw-match "XPS"; then
omarchy-pkg-add linux linux-headers
for pkg in linux-ptl linux-ptl-headers; do
sudo pacman -Rdd --noconfirm "$pkg" 2>/dev/null || true
done
sudo rm -f /etc/limine-entry-tool.d/intel-panther-lake.conf
sudo rm -f /etc/limine-entry-tool.d/dell-xps-panther-lake.conf
if omarchy-cmd-present limine-update; then
sudo limine-update
fi
fi
+1 -1
View File
@@ -1,4 +1,4 @@
{
"name": "Everforest Dark",
"extension": "sainnhe.everforest"
"extension": "reesew.everforest-theme"
}