diff --git a/boot.sh b/boot.sh index 302236dc..d56f49ce 100755 --- a/boot.sh +++ b/boot.sh @@ -45,7 +45,9 @@ echo "Refreshing pacman databases..." sudo pacman -Sy --noconfirm echo "Installing omarchy-installer..." -sudo pacman -S --noconfirm --needed omarchy-installer +# Only install the runner here — install.sh pulls the full omarchy runtime +# itself once it knows the mode and has logged in. +sudo pacman -S --noconfirm --needed omarchy-keyring omarchy-installer echo -e "\nInstallation starting..." exec omarchy-install diff --git a/install.sh b/install.sh index 40e9c59f..1802d82d 100644 --- a/install.sh +++ b/install.sh @@ -17,6 +17,21 @@ detect_install_mode export_legacy_mode_flags source "$OMARCHY_INSTALL/helpers/all.sh" + +# The install scripts assume the full omarchy runtime is installed (preflight +# guards check for limine; config scripts call omarchy-* commands; etc.). +# Online: install it now via pacman. Offline: the ISO was supposed to pacstrap +# it before user creation, so just assert it's present. +_omarchy_runtime_pkg="${OMARCHY_RUNTIME_PACKAGE:-omarchy}" +if install_mode_is offline; then + pacman -Q "$_omarchy_runtime_pkg" >/dev/null 2>&1 || { + echo "Error: $_omarchy_runtime_pkg must be pacstrapped before omarchy-install runs in offline mode" >&2 + exit 1 + } +else + sudo pacman -Syu --noconfirm --needed "$_omarchy_runtime_pkg" +fi + source "$OMARCHY_INSTALL/preflight/all.sh" source "$OMARCHY_INSTALL/packaging/all.sh" source "$OMARCHY_INSTALL/config/all.sh"