v0.5.4: installer UX polish — terse menu, VEILOR OS wordmark, hostname auto

User boot-tested v0.5.2 + in-VM patch. Requested polish:

- Banner: replace slant-figlet `veilor-os` + "hardened. branded. yours."
  tagline with figlet ANSI Regular `VEILOR OS` wordmark (5-line block).
  No tagline. Border preserved by gum style call.
- Menu header: "Welcome. What would you like to do?" → "Welcome"
- Menu labels:
    "Install veilor-os to disk"     → "Install"
    "Try live — desktop (KDE Plasma)" → "live - (KDE)"
    "Try live — shell"              → "live - shell"
    "Reboot" / "Power off"          unchanged
- Hostname prompt removed — hardcoded to "veilor". User can change
  post-install via hostnamectl. Cuts one prompt from install flow.
  Confirmation summary drops the Hostname row.
- Locale options trimmed: en_GB.UTF-8, en_US.UTF-8 only (was 4 incl
  de_DE, fr_FR). i18n not v0.5 priority.

Verified in-VM rendering of the menu changes via sed-patch on v0.5.2
ISO. ksvalidator + bash -n clean.
This commit is contained in:
veilor-org 2026-05-02 21:10:04 +01:00
parent 125e5f93af
commit 0f4647577b
2 changed files with 15 additions and 19 deletions

View file

@ -1,7 +1,5 @@
_ __
_ _____ (_) /___ _____ ____ _____
| | / / _ \/ / / __ \/ ___/_____/ __ \/ ___/
| |/ / __/ / / /_/ / / /_____/ /_/ (__ )
|___/\___/_/_/\____/_/ \____/____/
hardened. branded. yours.
██ ██ ███████ ██ ██ ██████ ██████ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ █████ ██ ██ ██ ██ ██████ ██ ██ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
████ ███████ ██ ███████ ██████ ██ ██ ██████ ███████

View file

@ -180,10 +180,10 @@ prompt_error() {
}
main_menu() {
prompt_choose "Welcome. What would you like to do?" \
"Install veilor-os to disk" \
"Try live — desktop (KDE Plasma)" \
"Try live — shell" \
prompt_choose "Welcome" \
"Install" \
"live - (KDE)" \
"live - shell" \
"Reboot" \
"Power off"
}
@ -205,7 +205,8 @@ collect_answers() {
disk=$(prompt_choose_pairs "Select install disk (will be ERASED)" "${disks_pairs[@]}") || return 1
# ── Hostname ──
hostname=$(prompt_input "Set hostname" "veilor") || return 1
# Hardcoded for branded consistency. Post-install: `hostnamectl set-hostname`.
hostname="veilor"
# Reject shell-special and sed-special chars in passwords. Generated
# kickstart writes them via heredoc + sed substitution; bare $, ", \, `
@ -240,15 +241,12 @@ collect_answers() {
# ── Locale ──
locale=$(prompt_choose "Choose locale" \
"en_GB.UTF-8" \
"en_US.UTF-8" \
"de_DE.UTF-8" \
"fr_FR.UTF-8") || return 1
"en_US.UTF-8") || return 1
# ── Confirmation ──
prompt_confirm "About to install veilor-os:
Disk: $disk (will be ERASED)
Hostname: $hostname
Locale: $locale
LUKS: set
Admin pw: set
@ -572,13 +570,13 @@ banner
while true; do
case "$(main_menu)" in
"Install veilor-os to disk")
"Install")
if collect_answers && generate_ks; then
run_install || continue
fi
;;
"Try live — desktop (KDE Plasma)") launch_desktop ;;
"Try live — shell") drop_to_shell ;;
"live - (KDE)") launch_desktop ;;
"live - shell") drop_to_shell ;;
"Reboot") systemctl reboot ;;
"Power off") systemctl poweroff ;;
*) drop_to_shell ;;