Files
omarchycn/install/helpers/mode.sh
T
Ryan Hughes 7fffc5f3c4 Simplify OMARCHY_INSTALL_MODE to online/offline only
Drop online-git: the new world has a single package-backed install path
that's either online (pacman pulls from omacom-pkgs.org) or offline (ISO
chroot pulls from the bundled mirror). The git-clone-and-run-installer
path is gone — boot.sh becomes a thin bootstrap that installs the
omarchy-installer package and invokes its installer.

- install/helpers/mode.sh: two modes, validation message updated. Default
  fallback is 'online' (the boot.sh path); OMARCHY_CHROOT_INSTALL=1 still
  shims to offline, OMARCHY_ONLINE_INSTALL=true still shims to online.
- install/preflight/all.sh: first-run-mode + disable-mkinitcpio gated on
  offline (offline is the from-scratch chroot path; online runs on an
  existing system).
- install/preflight/pacman.sh: DELETED. boot.sh now handles repo config
  before install.sh runs.
- install/packaging/all.sh: drop base.sh entirely. Both modes have
  base packages installed via omarchy-installer's depends before
  install.sh runs. base.sh remains on disk in case the ISO mirror build
  flow wants to invoke it directly.
- install/helpers/chroot.sh, errors.sh, post-install/finished.sh,
  config/mise-work.sh: rename mode checks to use online/offline.
2026-06-04 18:34:35 -04:00

52 lines
1.5 KiB
Bash

# OMARCHY_INSTALL_MODE is one of: online, offline
# online - bootstrap installed omarchy-* packages from the omacom-pkgs.org
# repo on an existing Arch system, then ran install.sh.
# offline - ISO build: archinstall pacstrapped the bundled mirror; install.sh
# runs in the chroot before the user's first boot.
# Legacy OMARCHY_CHROOT_INSTALL and OMARCHY_ONLINE_INSTALL still work as
# shims during transition.
detect_install_mode() {
if [[ -n ${OMARCHY_INSTALL_MODE:-} ]]; then
case $OMARCHY_INSTALL_MODE in
online|offline) ;;
*)
echo "Error: invalid OMARCHY_INSTALL_MODE=$OMARCHY_INSTALL_MODE" >&2
echo " must be one of: online, offline" >&2
exit 1
;;
esac
export OMARCHY_INSTALL_MODE
return
fi
if [[ -n ${OMARCHY_CHROOT_INSTALL:-} ]]; then
export OMARCHY_INSTALL_MODE=offline
elif [[ -n ${OMARCHY_ONLINE_INSTALL:-} ]]; then
export OMARCHY_INSTALL_MODE=online
else
export OMARCHY_INSTALL_MODE=online
fi
}
install_mode_is() {
[[ ${OMARCHY_INSTALL_MODE:-} == "$1" ]]
}
# Synchronize the legacy vars to the canonical mode so callers that still
# check OMARCHY_CHROOT_INSTALL / OMARCHY_ONLINE_INSTALL agree with us.
export_legacy_mode_flags() {
case ${OMARCHY_INSTALL_MODE:-} in
offline)
export OMARCHY_CHROOT_INSTALL=1
unset OMARCHY_ONLINE_INSTALL
;;
online)
export OMARCHY_ONLINE_INSTALL=true
unset OMARCHY_CHROOT_INSTALL
;;
esac
}
export -f install_mode_is