Update install_arch_solphyr.sh

This commit is contained in:
Conor Budworth 2025-11-09 03:44:23 +01:00
parent 95a37adce7
commit 530ae7d44d

View File

@ -14,10 +14,43 @@ NO_PROMPT=0
[[ ! -f .env ]] && { warn ".env missing, creating from template"; cp .env.template .env 2>/dev/null || touch .env; }
source .env || true
prompt_var(){ local n=$1 t=$2 d="${!n:-}"; [[ $NO_PROMPT == 1 ]] && { info "Using $n=$d"; return; }
read -e -p "$t [$d]: " i; [[ -n $i ]] && eval "$n=\"\$i\""; }
prompt_secret(){ local n=$1 t=$2 d="${!n:-}"; if [[ -z $d ]]; then read -s -p "$t: " i; echo; eval "$n=\"\$i\""; else info "Using $n from .env"; fi; }
save_env(){ local n=$1 v="${!n}"; sed -i "/^$n=/d" .env; echo "$n=\"$v\"" >> .env; }
# --- Safe prompting helpers ---
prompt_var() {
local var_name="$1"
local prompt_text="$2"
local default_val
default_val="$(eval "echo \${$var_name:-}")"
if [[ "$NO_PROMPT" == "1" ]]; then
info "Using $var_name=$default_val"
return
fi
read -e -p "$prompt_text [${default_val}]: " input
if [[ -n "$input" ]]; then
eval "$var_name=\"\$input\""
fi
}
prompt_secret() {
local var_name="$1"
local prompt_text="$2"
local default_val
default_val="$(eval "echo \${$var_name:-}")"
if [[ -z "$default_val" ]]; then
read -s -p "$prompt_text: " input
echo
eval "$var_name=\"\$input\""
else
info "Using $var_name from .env"
fi
}
save_env() {
local var_name="$1"
local var_value
var_value="$(eval "echo \${$var_name}")"
sed -i "/^${var_name}=/d" .env
echo "${var_name}=\"${var_value}\"" >> .env
}
# --- Gather configuration ---
prompt_var HOSTNAME "Hostname"; prompt_var USERNAME "Username"; prompt_var KEYMAP "Keymap"
@ -144,7 +177,7 @@ cat <<EOF
${g}${b}✅ Arch Linux installation complete!${r}
Remove media and reboot:
Remove installation media and reboot:
${b}reboot${r}
Then log in as '${USERNAME}' and pull your next setup, e.g.: