diff --git a/overlay/usr/local/bin/veilor-installer b/overlay/usr/local/bin/veilor-installer index 9b4b6ab..f4bf87a 100644 --- a/overlay/usr/local/bin/veilor-installer +++ b/overlay/usr/local/bin/veilor-installer @@ -1043,21 +1043,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