feat(installer): v0.6 ergonomics + polish — 5 quick wins #3

Merged
s8n merged 5 commits from feat/ux-installer-v06-polish into main 2026-05-06 13:47:35 +01:00
Showing only changes of commit b64ee19e53 - Show all commits

View file

@ -1037,21 +1037,37 @@ run_install() {
--show-output \
-- bash -c 'anaconda --cmdline --kickstart=/run/install/veilor-generated.ks 2>&1 | tee /tmp/anaconda-cmdline.log' || rc=$?
if [[ $rc -eq 0 ]]; then
# v0.6: 10-second redraw countdown so the operator knows
# exactly when the reboot will fire (and has time to grab
# the USB stick before it boots back into the live ISO).
# Each tick clears + redraws the styled box with the new
# remaining-seconds figure — no fancy in-place repaint, just
# a clean re-render via clear+gum-style which the linux
# fbcon handles without flicker.
# v0.6: split the success screen into THREE stacked boxes.
#
# 1. Green success box — quiet confirmation.
# 2. Yellow eject box — promoted out of the buried
# one-liner the v0.5 success box used. Operators on
# both onyx and the friend's RTX 4080 rig missed the
# reminder and rebooted into the live ISO instead of
# the install. Now it's its own loud thick-bordered
# box that sits BELOW the success box and is
# impossible to miss.
# 3. Reboot countdown — embedded inside the green
# success box so the operator can see "complete +
# Xs to reboot" at a glance.
#
# Each tick clears + redraws all three, so the eject-media
# box stays in front of the operator for the full 10-second
# window and isn't scrolled off by a banner refresh.
local secs
for secs in 10 9 8 7 6 5 4 3 2 1; do
clear
gum style --foreground 2 --border rounded --margin "1 2" --padding "1 3" \
"✓ Install complete" \
"" \
"Rebooting in ${secs}s..." \
"Remove the install media."
"Rebooting in ${secs}s..."
gum style --foreground 3 --border thick --margin "0 2" --padding "1 3" \
--border-foreground 3 \
" Remove the install media NOW " \
"" \
" Unplug the USB stick / eject the DVD before " \
" reboot, otherwise the system will boot back " \
" into the live ISO instead of your fresh install. "
sleep 1
done
systemctl reboot