Three modes the installer now branches on:
iso-chroot Running inside the new system's chroot from the ISO build.
pacman is configured by archinstall; systemd isn't running,
so service enables skip --now.
online-package Running on an existing Arch where the omarchy-* packages
are already installed. Skip base.sh and the bootstrap
preflight steps; only the per-host runtime ops in
config/login/post-install need to run.
online-git boot.sh path: clone into $HOME/.local/share/omarchy and
bootstrap everything from scratch.
install.sh derives OMARCHY_PATH from its own location, so the same script
works whether it's at /usr/share/omarchy/install.sh (package mode) or
$HOME/.local/share/omarchy/install.sh (git mode). install_mode_is helper
replaces direct ${OMARCHY_CHROOT_INSTALL:-} / ${OMARCHY_ONLINE_INSTALL:-}
checks in chroot.sh, finished.sh, errors.sh, mise-work.sh, preflight/pacman.sh.
Legacy vars still work through export_legacy_mode_flags, which sets
OMARCHY_CHROOT_INSTALL=1 / OMARCHY_ONLINE_INSTALL=true based on the
canonical mode for any caller that hasn't been updated.
bin/omarchy-install-mode prints the current mode for scripts/users that
need to introspect.
Smoke-tested all four entry paths (explicit mode, both legacy shims,
auto-detection from OMARCHY_PATH); each resolves correctly and the
legacy flags are exported in matching modes.
20 lines
813 B
Bash
20 lines
813 B
Bash
source $OMARCHY_INSTALL/preflight/guard.sh
|
|
source $OMARCHY_INSTALL/preflight/begin.sh
|
|
run_logged $OMARCHY_INSTALL/preflight/show-env.sh
|
|
|
|
# online-git is the only mode that bootstraps pacman config; iso-chroot has
|
|
# archinstall do it; online-package starts with pacman already configured.
|
|
if install_mode_is online-git; then
|
|
run_logged $OMARCHY_INSTALL/preflight/pacman.sh
|
|
fi
|
|
|
|
run_logged $OMARCHY_INSTALL/preflight/migrations.sh
|
|
|
|
# first-run-mode and disable-mkinitcpio are only meaningful when we're
|
|
# bringing a system up from scratch (boot.sh or ISO). online-package mode
|
|
# is bolting Omarchy onto an existing Arch install — neither applies.
|
|
if ! install_mode_is online-package; then
|
|
run_logged $OMARCHY_INSTALL/preflight/first-run-mode.sh
|
|
run_logged $OMARCHY_INSTALL/preflight/disable-mkinitcpio.sh
|
|
fi
|