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.
25 lines
910 B
Bash
25 lines
910 B
Bash
#!/bin/bash
|
|
|
|
set -eEo pipefail
|
|
|
|
# Derive OMARCHY_PATH from the script location so install.sh works the same
|
|
# whether it's run from /usr/share/omarchy/install.sh (package mode) or
|
|
# $HOME/.local/share/omarchy/install.sh (git mode). An explicit OMARCHY_PATH
|
|
# in the caller env still wins.
|
|
_OMARCHY_INSTALLER_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
export OMARCHY_PATH="${OMARCHY_PATH:-$_OMARCHY_INSTALLER_DIR}"
|
|
export OMARCHY_INSTALL="$OMARCHY_PATH/install"
|
|
export OMARCHY_INSTALL_LOG_FILE="/var/log/omarchy-install.log"
|
|
export PATH="$OMARCHY_PATH/bin:$PATH"
|
|
|
|
source "$OMARCHY_INSTALL/helpers/mode.sh"
|
|
detect_install_mode
|
|
export_legacy_mode_flags
|
|
|
|
source "$OMARCHY_INSTALL/helpers/all.sh"
|
|
source "$OMARCHY_INSTALL/preflight/all.sh"
|
|
source "$OMARCHY_INSTALL/packaging/all.sh"
|
|
source "$OMARCHY_INSTALL/config/all.sh"
|
|
source "$OMARCHY_INSTALL/login/all.sh"
|
|
source "$OMARCHY_INSTALL/post-install/all.sh"
|