Update install_arch_solphyr.sh

This commit is contained in:
Conor Budworth 2025-11-09 04:36:32 +01:00
parent 15a7c519c0
commit a13c2142c4

View File

@ -19,24 +19,57 @@ source .env || true
# ── Prompt helpers ───────────────────────────── # ── Prompt helpers ─────────────────────────────
prompt_var() { prompt_var() {
local var_name="$1" prompt_text="$2" local var_name="$1"
local default_val; default_val="$(eval "echo \${$var_name:-}")" local prompt_text="$2"
if [[ "$NO_PROMPT" == "1" ]]; then info "Using $var_name=$default_val"; return 0; fi local default_val
local input; set +e default_val="$(eval "echo \${$var_name:-}")"
read -e -p "$prompt_text [${default_val}]: " input; local rc=$?; set -e
if [[ "$NO_PROMPT" == "1" ]]; then
info "Using $var_name=$default_val"
return 0
fi
local input
# disable errexit for the read itself
set +e
read -e -p "$prompt_text [${default_val}]: " input
local rc=$?
set -e
[[ $rc -ne 0 ]] && die "Input cancelled" [[ $rc -ne 0 ]] && die "Input cancelled"
[[ -n "$input" ]] && eval "$var_name=\"\$input\"" if [[ -n "$input" ]]; then
eval "$var_name=\"\$input\""
fi
return 0
} }
prompt_secret() { prompt_secret() {
local var_name="$1" prompt_text="$2" local var_name="$1"
local default_val; default_val="$(eval "echo \${$var_name:-}")" local prompt_text="$2"
local default_val
default_val="$(eval "echo \${$var_name:-}")"
if [[ -z "$default_val" ]]; then if [[ -z "$default_val" ]]; then
set +e; read -s -p "$prompt_text: " input; local rc=$?; set -e; echo set +e
read -s -p "$prompt_text: " input
local rc=$?
set -e
echo
[[ $rc -ne 0 ]] && die "Input cancelled" [[ $rc -ne 0 ]] && die "Input cancelled"
eval "$var_name=\"\$input\"" eval "$var_name=\"\$input\""
else info "Using $var_name from .env"; fi else
info "Using $var_name from .env"
fi
return 0
} }
save_env(){ local n=$1 v; v="$(eval "echo \${$n}")"; sed -i "/^${n}=/d" .env; echo "${n}=\"${v}\"" >> .env; }
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
return 0
}
# ── Gather config ────────────────────────────── # ── Gather config ──────────────────────────────
prompt_var HOSTNAME "Hostname"; prompt_var USERNAME "Username" prompt_var HOSTNAME "Hostname"; prompt_var USERNAME "Username"