installer: keep offline finalizer non-interactive

This commit is contained in:
Ryan Hughes
2026-06-04 18:35:01 -04:00
parent 830c798bde
commit e01c233431
4 changed files with 36 additions and 6 deletions
+16
View File
@@ -87,6 +87,22 @@ catch_errors() {
fi
stop_log_output
if [[ -n ${OMARCHY_CHROOT_FINALIZER:-} ]]; then
show_cursor
{
echo "Omarchy installation stopped inside offline finalizer."
echo "This command halted with exit code $exit_code:"
if [[ -n ${CURRENT_SCRIPT:-} ]]; then
echo "Failed script: $CURRENT_SCRIPT"
else
echo "$BASH_COMMAND"
fi
echo "The live ISO orchestrator will show the visible error screen."
} >&2
exit "$exit_code"
fi
restore_outputs
clear_logo
+5
View File
@@ -1,4 +1,9 @@
start_log_output() {
# Offline ISO installs already have a live dashboard on tty1. The chrooted
# finalizer's stdout/stderr is captured to logs, so this monitor would only
# create noisy feedback in the log and burn CPU.
[[ -n ${OMARCHY_CHROOT_FINALIZER:-} ]] && return 0
local ANSI_SAVE_CURSOR="\033[s"
local ANSI_RESTORE_CURSOR="\033[u"
local ANSI_CLEAR_LINE="\033[2K"
+12 -6
View File
@@ -1,5 +1,16 @@
stop_install_log
# Offline ISO installs run inside arch-chroot while the live ISO orchestrator
# owns the visible UI. Never prompt from here: stdout/stderr may be captured to
# logs, leaving gum waiting invisibly on /dev/tty. The live orchestrator shows
# the final "installed in ... / reboot" screen after validation.
if install_mode_is offline; then
# Never risk an interactive sudo prompt in the chrooted ISO route. The
# orchestrator removes this shim after finalize.sh returns.
touch /var/tmp/omarchy-install-completed
return 0 2>/dev/null || exit 0
fi
echo_in_style() {
echo "$1" | tte --canvas-width 0 --anchor-text c --frame-rate 640 print
}
@@ -29,10 +40,5 @@ if gum confirm --padding "0 0 0 $((PADDING_LEFT + 32))" --show-help=false --defa
# Clear screen to hide any shutdown messages
clear
if install_mode_is offline; then
touch /var/tmp/omarchy-install-completed
exit 0
else
sudo reboot 2>/dev/null
fi
sudo reboot 2>/dev/null
fi
+3
View File
@@ -1,6 +1,9 @@
abort() {
echo -e "\e[31mOmarchy install requires: $1\e[0m"
echo
if [[ -n ${OMARCHY_CHROOT_FINALIZER:-} ]]; then
exit 1
fi
gum confirm "Proceed anyway on your own accord and without assistance?" || exit 1
}