Backfill pre-quattro hardware support and tmux fixes for existing installs

Existing quattro installs get sof-firmware, the Mesa Vulkan drivers,
the tmux terminal-features and pane-binding fixes, and the XPS 13 text
scaling via migration, while Omarchy 4 upgraders get the same hardware
support and scaling through omarchy-upgrade-to-quattro.

The Vulkan driver backfill adapts da46ad85 from master.

Co-authored-by: Sai Sridhar <tarrasridhar1154@gmail.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
David Heinemeier Hansson
2026-07-18 12:31:34 -07:00
co-authored by Sai Sridhar Claude Fable 5
parent 46df0cf495
commit 1024bf5e7a
3 changed files with 78 additions and 0 deletions
+36
View File
@@ -589,6 +589,30 @@ install_omarchy_quattro_packages() {
mark_packages_explicit "${audio_packages[@]}"
}
install_hardware_transition_packages() {
local hardware_packages=()
if lspci | grep -qiE '(Multimedia audio controller|Audio device).*Intel'; then
hardware_packages+=(sof-firmware)
fi
if lspci | grep -iE '(VGA|Display).*Intel' >/dev/null; then
hardware_packages+=(vulkan-intel)
fi
if lspci | grep -iE '(VGA|Display).*AMD' >/dev/null; then
hardware_packages+=(vulkan-radeon)
fi
if lspci | grep -iE '(VGA|Display).*Apple' >/dev/null; then
hardware_packages+=(vulkan-asahi)
fi
if (( ${#hardware_packages[@]} > 0 )); then
log "Installing hardware support needed by the Omarchy quattro layout"
as_root pacman -S --needed --noconfirm "${hardware_packages[@]}"
mark_packages_explicit "${hardware_packages[@]}"
fi
}
remove_retired_default_packages() {
local retired_packages=(
asdcontrol-git
@@ -2226,6 +2250,16 @@ rm -f "$state_dir/finalize-user.done"
USER_SETUP
}
apply_user_hardware_transition() {
if grep -qi "DX13260" /sys/class/dmi/id/product_name 2>/dev/null ||
grep -qi "DX13260" /sys/class/dmi/id/product_family 2>/dev/null; then
log "Adjusting text scaling for Dell XPS 13 DX13260"
if ! run_as_user_session gsettings set org.gnome.desktop.interface text-scaling-factor 0.95; then
warn "Could not adjust text scaling for Dell XPS 13 DX13260; continuing."
fi
fi
}
write_legacy_theme_hyprland_conf() {
run_as_user env HOME="$target_home" bash <<'THEME_COMPAT'
set -euo pipefail
@@ -2339,6 +2373,7 @@ remove_legacy_installer_package
remove_legacy_limine_configs
remove_conflicting_legacy_packages
install_omarchy_quattro_packages
install_hardware_transition_packages
normalize_limine_config
configure_snapper_policy
configure_lock_authentication
@@ -2347,6 +2382,7 @@ cleanup_legacy_user_paths
apply_system_transition
suppress_hyprland_config_reload
apply_user_transition
apply_user_hardware_transition
run_as_user env \
HOME="$target_home" \
USER="$target_user" \
+35
View File
@@ -0,0 +1,35 @@
echo "Backfill hardware support and tmux settings added before Omarchy quattro"
tmux_config="$HOME/.config/tmux/tmux.conf"
if [[ -f $tmux_config ]]; then
sed -i 's/^set -g terminal-features\[3\] "xterm-kitty:extkeys"$/set -ag terminal-features "xterm-kitty:extkeys"/' "$tmux_config"
if ! grep -q 'M-S-Enter' "$tmux_config"; then
sed -i '/^# Pane Controls$/a\bind -n M-Enter split-window -v -c "#{pane_current_path}"\nbind -n M-S-Enter split-window -h -c "#{pane_current_path}"\nbind -n M-Escape kill-pane\n' "$tmux_config"
fi
omarchy-restart-tmux
fi
hardware_packages=()
if lspci | grep -qiE '(Multimedia audio controller|Audio device).*Intel' && omarchy-pkg-missing sof-firmware; then
hardware_packages+=(sof-firmware)
fi
if lspci | grep -iE '(VGA|Display).*Intel' >/dev/null && omarchy-pkg-missing vulkan-intel; then
hardware_packages+=(vulkan-intel)
fi
if lspci | grep -iE '(VGA|Display).*AMD' >/dev/null && omarchy-pkg-missing vulkan-radeon; then
hardware_packages+=(vulkan-radeon)
fi
if lspci | grep -iE '(VGA|Display).*Apple' >/dev/null && omarchy-pkg-missing vulkan-asahi; then
hardware_packages+=(vulkan-asahi)
fi
if (( ${#hardware_packages[@]} > 0 )); then
omarchy-pkg-add "${hardware_packages[@]}"
omarchy-state set reboot-required
fi
if omarchy-hw-match "DX13260"; then
gsettings set org.gnome.desktop.interface text-scaling-factor 0.95
fi
+7
View File
@@ -55,3 +55,10 @@ pass "Omarchy 4 upgrade retires systemd-networkd for NetworkManager"
grep -F 'omarchy-bar defaults' "$upgrade_to_quattro" >/dev/null
pass "Omarchy 4 upgrade restores service-aware bar defaults"
grep -F 'install_hardware_transition_packages' "$upgrade_to_quattro" >/dev/null
grep -F 'sof-firmware' "$upgrade_to_quattro" >/dev/null
grep -F 'vulkan-intel' "$upgrade_to_quattro" >/dev/null
grep -F 'apply_user_hardware_transition' "$upgrade_to_quattro" >/dev/null
grep -F 'DX13260' "$upgrade_to_quattro" >/dev/null
pass "Omarchy 4 upgrade backfills hardware support from the legacy release"