feat(config): read timezone and hostname from config instead of interactive prompts
- commit
- 84a38445a71465ba5673d54e5574b71f811fc49c
- author
- bnema · · 2025-10-19 19:10 UTC
- committer
- bnema · · 2025-10-19 19:06 UTC
- parent
- d1d899f
- signature
- unsigned
1 file · +8 -27
M install/config/system.sh +8 -27
| @@ -2,29 +2,10 @@ | |||
| 2 | 2 | # System configuration (timezone, locale, hostname) | |
| 3 | 3 | ||
| 4 | 4 | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "System Configuration" | |
| 5 | - | echo | |
| 6 | 5 | ||
| 7 | - | # Fetch timezone from IP | |
| 8 | - | DETECTED_TIMEZONE=$(curl -s "https://ipapi.co/timezone/" 2>/dev/null) | |
| 9 | - | ||
| 10 | - | if [ -n "$DETECTED_TIMEZONE" ]; then | |
| 11 | - | # Show detected timezone and ask for confirmation | |
| 12 | - | gum style --foreground 3 --padding "0 0 0 $PADDING_LEFT" "Detected timezone: $DETECTED_TIMEZONE" | |
| 13 | - | ||
| 14 | - | if gum confirm --padding "0 0 0 $PADDING_LEFT" "Is this correct?"; then | |
| 15 | - | ARCHUP_TIMEZONE="$DETECTED_TIMEZONE" | |
| 16 | - | else | |
| 17 | - | # Ask for manual timezone entry | |
| 18 | - | ARCHUP_TIMEZONE=$(gum input --placeholder "Enter timezone (e.g., America/New_York)" \ | |
| 19 | - | --prompt "Timezone: " \ | |
| 20 | - | --padding "0 0 0 $PADDING_LEFT") | |
| 21 | - | fi | |
| 22 | - | else | |
| 23 | - | # Fallback to manual entry if API fails | |
| 24 | - | gum style --foreground 3 --padding "0 0 0 $PADDING_LEFT" "Unable to detect timezone automatically" | |
| 25 | - | ARCHUP_TIMEZONE=$(gum input --placeholder "Enter timezone (e.g., America/New_York)" \ | |
| 26 | - | --prompt "Timezone: " \ | |
| 27 | - | --padding "0 0 0 $PADDING_LEFT") | |
| 6 | + | # Read timezone from config (already set in preflight/identify.sh) | |
| 7 | + | if [ -z "$ARCHUP_TIMEZONE" ]; then | |
| 8 | + | ARCHUP_TIMEZONE=$(config_get "ARCHUP_TIMEZONE") | |
| 28 | 9 | fi | |
| 29 | 10 | ||
| 30 | 11 | if [ -z "$ARCHUP_TIMEZONE" ]; then | |
| @@ -51,13 +32,13 @@ if [ -n "$ARCHUP_KEYMAP" ]; then | |||
| 51 | 32 | echo "Console keymap: $ARCHUP_KEYMAP" >> "$ARCHUP_INSTALL_LOG_FILE" | |
| 52 | 33 | fi | |
| 53 | 34 | ||
| 54 | - | # Ask for hostname | |
| 55 | - | ARCHUP_HOSTNAME=$(gum input --placeholder "Enter hostname" \ | |
| 56 | - | --prompt "Hostname: " \ | |
| 57 | - | --padding "0 0 0 $PADDING_LEFT") | |
| 35 | + | # Read hostname from config (already set in preflight/identify.sh) | |
| 36 | + | if [ -z "$ARCHUP_HOSTNAME" ]; then | |
| 37 | + | ARCHUP_HOSTNAME=$(config_get "ARCHUP_HOSTNAME") | |
| 38 | + | fi | |
| 58 | 39 | ||
| 59 | 40 | if [ -z "$ARCHUP_HOSTNAME" ]; then | |
| 60 | - | ARCHUP_HOSTNAME="archlinux" | |
| 41 | + | ARCHUP_HOSTNAME="archup" | |
| 61 | 42 | fi | |
| 62 | 43 | ||
| 63 | 44 | # Set hostname | |
| @@ -2,29 +2,10 @@ | |||||
| 2 | # System configuration (timezone, locale, hostname) | 2 | # System configuration (timezone, locale, hostname) | ||
| 3 | 3 | ||||
| 4 | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "System Configuration" | 4 | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "System Configuration" | ||
| 5 | - | echo | |||
| 6 | 5 | ||||
| 7 | - | # Fetch timezone from IP | 6 | + | # Read timezone from config (already set in preflight/identify.sh) |
| 8 | - | DETECTED_TIMEZONE=$(curl -s "https://ipapi.co/timezone/" 2>/dev/null) | 7 | + | if [ -z "$ARCHUP_TIMEZONE" ]; then |
| 9 | - | 8 | + | ARCHUP_TIMEZONE=$(config_get "ARCHUP_TIMEZONE") | |
| 10 | - | if [ -n "$DETECTED_TIMEZONE" ]; then | |||
| 11 | - | # Show detected timezone and ask for confirmation | |||
| 12 | - | gum style --foreground 3 --padding "0 0 0 $PADDING_LEFT" "Detected timezone: $DETECTED_TIMEZONE" | |||
| 13 | - | ||||
| 14 | - | if gum confirm --padding "0 0 0 $PADDING_LEFT" "Is this correct?"; then | |||
| 15 | - | ARCHUP_TIMEZONE="$DETECTED_TIMEZONE" | |||
| 16 | - | else | |||
| 17 | - | # Ask for manual timezone entry | |||
| 18 | - | ARCHUP_TIMEZONE=$(gum input --placeholder "Enter timezone (e.g., America/New_York)" \ | |||
| 19 | - | --prompt "Timezone: " \ | |||
| 20 | - | --padding "0 0 0 $PADDING_LEFT") | |||
| 21 | - | fi | |||
| 22 | - | else | |||
| 23 | - | # Fallback to manual entry if API fails | |||
| 24 | - | gum style --foreground 3 --padding "0 0 0 $PADDING_LEFT" "Unable to detect timezone automatically" | |||
| 25 | - | ARCHUP_TIMEZONE=$(gum input --placeholder "Enter timezone (e.g., America/New_York)" \ | |||
| 26 | - | --prompt "Timezone: " \ | |||
| 27 | - | --padding "0 0 0 $PADDING_LEFT") | |||
| 28 | fi | 9 | fi | ||
| 29 | 10 | ||||
| 30 | if [ -z "$ARCHUP_TIMEZONE" ]; then | 11 | if [ -z "$ARCHUP_TIMEZONE" ]; then | ||
| @@ -51,13 +32,13 @@ if [ -n "$ARCHUP_KEYMAP" ]; then | |||||
| 51 | echo "Console keymap: $ARCHUP_KEYMAP" >> "$ARCHUP_INSTALL_LOG_FILE" | 32 | echo "Console keymap: $ARCHUP_KEYMAP" >> "$ARCHUP_INSTALL_LOG_FILE" | ||
| 52 | fi | 33 | fi | ||
| 53 | 34 | ||||
| 54 | - | # Ask for hostname | 35 | + | # Read hostname from config (already set in preflight/identify.sh) |
| 55 | - | ARCHUP_HOSTNAME=$(gum input --placeholder "Enter hostname" \ | 36 | + | if [ -z "$ARCHUP_HOSTNAME" ]; then |
| 56 | - | --prompt "Hostname: " \ | 37 | + | ARCHUP_HOSTNAME=$(config_get "ARCHUP_HOSTNAME") |
| 57 | - | --padding "0 0 0 $PADDING_LEFT") | 38 | + | fi |
| 58 | 39 | ||||
| 59 | if [ -z "$ARCHUP_HOSTNAME" ]; then | 40 | if [ -z "$ARCHUP_HOSTNAME" ]; then | ||
| 60 | - | ARCHUP_HOSTNAME="archlinux" | 41 | + | ARCHUP_HOSTNAME="archup" |
| 61 | fi | 42 | fi | ||
| 62 | 43 | ||||
| 63 | # Set hostname | 44 | # Set hostname | ||