Update install_arch_solphyr.sh
This commit is contained in:
parent
95a37adce7
commit
530ae7d44d
@ -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.:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user