diff --git a/AGENTS.md b/AGENTS.md index 97603e1..d585770 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -156,7 +156,11 @@ Dieses Repository ist ein modulares, automatisiertes Setup- und Konfigurations-F - `configure_network_all`: Zentraler Orchestrator zur vollständigen Netzwerkeinrichtung. ### `lib/tui.sh` -- `tui_show_stage_selection`: Zeigt ein `whiptail` Checklist-Menü zur interaktiven Auswahl der auszuführenden Phasen. +- `tui_check_whiptail`: Stellt sicher, dass `whiptail` installiert ist. +- `tui_welcome`: Zeigt den Begrüßungsdialog. +- `tui_select_stages`: Zeigt ein `whiptail` Checklist-Menü zur interaktiven Auswahl der auszuführenden Phasen. +- `tui_prompt_target_user [default_user]`: Bestätigt oder erfragt den Desktop-Zielbenutzer per Dialog und exportiert `TARGET_USER`. +- `tui_confirm_execution "stages" "user"`: Bestätigungsdialog vor dem Start der Installation. --- diff --git a/lib/tui.sh b/lib/tui.sh index e52e142..e5c4fde 100755 --- a/lib/tui.sh +++ b/lib/tui.sh @@ -85,7 +85,6 @@ tui_prompt_target_user() { done export TARGET_USER="$chosen" - echo "$chosen" } # Confirmation dialog before running diff --git a/setup.sh b/setup.sh index 7fdfc7b..f1b603c 100755 --- a/setup.sh +++ b/setup.sh @@ -142,11 +142,13 @@ else read -r -a SELECTED_STAGES <<< "$TUI_SELECTION" - DETECTED_USER="${TARGET_USER:-$(get_target_user 2>/dev/null || true)}" - TARGET_USER_NAME="$(tui_prompt_target_user "$DETECTED_USER")" - export TARGET_USER="$TARGET_USER_NAME" + DETECTED_USER="${TARGET_USER:-${SUDO_USER:-$(logname 2>/dev/null || id -un 2>/dev/null || true)}}" + if [[ "$DETECTED_USER" == "root" ]]; then + DETECTED_USER="" + fi + tui_prompt_target_user "$DETECTED_USER" - if ! tui_confirm_execution "${SELECTED_STAGES[*]}" "$TARGET_USER_NAME"; then + if ! tui_confirm_execution "${SELECTED_STAGES[*]}" "$TARGET_USER"; then log_info "Installation aborted by user." exit 0 fi