fix(install): label and explain the swap-size prompt
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
BACKLOG #93 (Acer live pass): the swap field appeared as a bare prefilled number — gum never renders the placeholder once --value is set, and the block had no section header, so nothing said what the value meant. Add a visible "Swap & hibernation" section, two info lines (default = RAM keeps hibernation possible; 0 = no swap), a labeled --header on the input, and make the info + Review lines state the outcome in full ("N GiB swapfile (enables hibernation)" / "none (hibernation disabled)"). Default behavior unchanged (swap = RAM). Verified: V2 — interactive KVM UI drive of the built ISO; viewed 10-swap-prompt.png (section + explanations + labeled input) and the Review box ("Swap: 6 GiB swapfile (enables hibernation)") in /tmp/nomarchy-v2-swap-93/; the wipe confirmation was aborted, nothing touched. bash -n + nix flake check --no-build green. Side-finding recorded on #112: QEMU's /dev/fd0 was listed first by the disk picker (live repro evidence in the same artifacts). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -279,15 +279,20 @@ info "Encryption: $([[ $WITH_LUKS == true ]] && echo "LUKS2 (desktop auto-login)
|
||||
# ─── Swap / hibernation ─────────────────────────────────────────────────
|
||||
# A swapfile ≥ RAM on its own BTRFS subvolume makes hibernation possible;
|
||||
# the resume offset is wired into the config below.
|
||||
section "Swap & hibernation"
|
||||
|
||||
ram_gb=$(awk '/MemTotal/ {print int(($2 + 1048575) / 1048576)}' /proc/meminfo)
|
||||
if [[ "$UNATTENDED" == "1" ]]; then
|
||||
SWAP_GB="${NOMARCHY_SWAP_GB:-$ram_gb}"
|
||||
else
|
||||
info "A swapfile sized ≥ RAM lets this machine hibernate (suspend to disk)."
|
||||
info "Default = ${ram_gb} GiB (this machine's RAM). Enter 0 for no swap (disables hibernation)."
|
||||
SWAP_GB=$(gum input --value "$ram_gb" \
|
||||
--header "Swap size in GiB (default ${ram_gb} = RAM, 0 = no swap)" \
|
||||
--placeholder "swap size in GiB (≥ RAM enables hibernation, 0 = none)")
|
||||
fi
|
||||
[[ "$SWAP_GB" =~ ^[0-9]+$ ]] || fail "Swap size must be a whole number of GiB."
|
||||
info "Swap: $([[ "$SWAP_GB" == "0" ]] && echo none || echo "${SWAP_GB}G swapfile (hibernation-ready)")"
|
||||
info "Swap: $([[ "$SWAP_GB" == "0" ]] && echo "none (hibernation disabled)" || echo "${SWAP_GB} GiB swapfile (hibernation-ready)")"
|
||||
|
||||
# ─── User account ───────────────────────────────────────────────────────
|
||||
section "Your account"
|
||||
@@ -442,7 +447,7 @@ fi
|
||||
gum style --border normal --padding "0 2" \
|
||||
"Disk: $TARGET_DISK (WILL BE ERASED)" \
|
||||
"Encryption: $([[ $WITH_LUKS == true ]] && echo "LUKS2 + desktop auto-login" || echo none)" \
|
||||
"Swap: $([[ "$SWAP_GB" == "0" ]] && echo none || echo "${SWAP_GB}G (hibernation)")" \
|
||||
"Swap: $([[ "$SWAP_GB" == "0" ]] && echo "none (hibernation disabled)" || echo "${SWAP_GB} GiB swapfile (enables hibernation)")" \
|
||||
"User: $USERNAME" \
|
||||
"Hostname: $HOSTNAME_" \
|
||||
"Timezone: $TIMEZONE" \
|
||||
|
||||
Reference in New Issue
Block a user