fix: TUI mit drei Backends (gum/whiptail/basic) + gum auto-install auf frischen Systemen

- tui.sh: komplett überarbeitet mit _strip_format() für basic mode
- whiptail als mittleres Fallback-Backend hinzugefügt
- Alle #{bold}/#{normal}-Markups entfernt, saubere ANSI-API (tui_info/tui_bold/...)
- install.sh: detect_environment() installiert gum vor allen Prompts
- Kein seq-Dependency mehr (printf -v statt seq)
- packages.sh/preflight.sh/homelab.sh/optional.sh auf neue TUI-API migriert
This commit is contained in:
2026-05-27 21:00:49 +02:00
parent be7bffc1e5
commit edbf5471b5
7 changed files with 333 additions and 223 deletions

View File

@@ -14,14 +14,13 @@ module_prereqs() {
module_main() {
log_section "Optional Software Selection"
tui_format "#{bold}Select software to install:#{normal}"
tui_format "Use space to select, enter to confirm."
tui_format ""
tui_bold "Select optional software to install:"
tui_info "Use space (gum) or enter indices (basic) to select."
printf '\n'
local choices
choices="$(
gum choose --no-limit \
--header "Select optional packages (space to toggle, enter to confirm)" \
tui_multiselect "Software Selection" \
"Obsidian" \
"Neovim" \
"Visual Studio Code" \
@@ -31,7 +30,7 @@ module_main() {
"VLC" \
"PipeWire Tools" \
"Docker" \
"Blender" 2>&1
"Blender"
)"
if [[ -z "$choices" ]]; then