installer: reduce offline finalizer work

This commit is contained in:
Ryan Hughes
2026-06-04 18:35:01 -04:00
parent 724f46f145
commit b29747a54b
8 changed files with 70 additions and 27 deletions
+8 -2
View File
@@ -9,8 +9,14 @@ mkdir -p ~/.config/omarchy/themes
sudo mkdir -p /etc/chromium/policies/managed
sudo chmod a+rw /etc/chromium/policies/managed
# Set initial theme
omarchy-theme-set "Tokyo Night"
# Set initial theme. Offline ISO installs only need the user's theme files and
# symlinks seeded; there is no running desktop/session bus in the chroot, so
# skip shell IPC, dconf, app retint hooks, and background transition work.
if install_mode_is offline; then
OMARCHY_THEME_OFFLINE=1 OMARCHY_THEME_SKIP_BACKGROUND=1 omarchy-theme-set "Tokyo Night"
else
omarchy-theme-set "Tokyo Night"
fi
rm -rf ~/.config/chromium/SingletonLock # otherwise archiso will own the chromium singleton
# Set specific app links for current theme
+3 -1
View File
@@ -1,4 +1,6 @@
run_logged $OMARCHY_INSTALL/login/default-keyring.sh
run_logged $OMARCHY_INSTALL/login/sddm.sh
run_logged $OMARCHY_INSTALL/login/hibernation.sh
if install_mode_is online; then
run_logged $OMARCHY_INSTALL/login/hibernation.sh
fi
run_logged $OMARCHY_INSTALL/login/limine-snapper.sh
+14 -10
View File
@@ -133,19 +133,23 @@ EOF
LIMINE_CONFIGURED=true
fi
echo "Re-enabling mkinitcpio hooks..."
# Restore legacy hook moves from older offline installer paths. Current ISO
# installs mask/unmask hooks in the orchestrator, so these files usually do not
# exist; stay quiet unless there is real cleanup to do.
if [[ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled || -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]]; then
echo "Re-enabling mkinitcpio hooks..."
# Restore the specific mkinitcpio pacman hooks
if [[ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]]; then
sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook
if [[ -f /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled ]]; then
sudo mv /usr/share/libalpm/hooks/90-mkinitcpio-install.hook.disabled /usr/share/libalpm/hooks/90-mkinitcpio-install.hook
fi
if [[ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]]; then
sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook
fi
echo "mkinitcpio hooks re-enabled"
fi
if [[ -f /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled ]]; then
sudo mv /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook.disabled /usr/share/libalpm/hooks/60-mkinitcpio-remove.hook
fi
echo "mkinitcpio hooks re-enabled"
# Final sanity check: assert the Limine config and UKI actually contain what
# they need to boot. Run AFTER snapper setup and hook re-enable so a
# validation failure doesn't leave the system half-configured.
+1
View File
@@ -72,6 +72,7 @@ libqalculate
libreoffice-fresh
llvm
localsend
lua51
luarocks
man-db
mariadb-libs
+7
View File
@@ -2,6 +2,13 @@
sudo cp -f $OMARCHY_PATH/default/pacman/pacman-${OMARCHY_MIRROR:-stable}.conf /etc/pacman.conf
sudo cp -f $OMARCHY_PATH/default/pacman/mirrorlist-${OMARCHY_MIRROR:-stable} /etc/pacman.d/mirrorlist
# omarchy-settings skips this override until cups-browsed is actually present
# to avoid pacman creating cups-browsed.conf.pacnew during ISO package install.
if [[ -f $OMARCHY_PATH/etc-overrides/cups-cups-browsed.conf && -d /etc/cups ]]; then
sudo cp -f "$OMARCHY_PATH/etc-overrides/cups-cups-browsed.conf" /etc/cups/cups-browsed.conf
sudo rm -f /etc/cups/cups-browsed.conf.pacnew
fi
if lspci -nn | grep -q "106b:180[12]"; then
cat <<EOF | sudo tee -a /etc/pacman.conf >/dev/null