feat(installer): sshd opt-in, gsettings replay, live-medium motd stamp
Tests / tests (push) Successful in 2m50s

- alvin-install: new sshd screen (default on) + install step. openssh is
  guaranteed into the pacstrap list when requested, and the final banner
  reports whether the enable actually succeeded (SSHD_APPLIED) instead of
  what was selected. The prompt warns that password login uses the same
  password as LUKS, and only mentions the GitHub key import when a
  username was given.
- alvin-install: replay the `gsettings set` commands end-4 logged during
  its setup run with a clean env and a throwaway session bus as the target
  user, then read each key back in a second session to confirm it persisted
  (gvariant_unescape normalizes both '...' and "..." GVariant output). The
  venv check now walks the uv bin/python symlink chain, re-rooting
  absolute hops under $TARGET, since that link dangles on the live medium.
- build: append the build stamp to the live /etc/motd (keeps the installed
  system's motd untouched) and drop alvin-install's install_motd step.
- docs: installer sections in README/AGENTS.md, sshd notes, corrected line
  counts.
This commit is contained in:
alvinlollo
2026-10-07 21:55:30 +11:00
parent 1bb6f8dddd
commit 59d82f06f5
5 changed files with 312 additions and 29 deletions
+3 -2
View File
@@ -27,8 +27,9 @@ file_permissions=(
# ── Build stamp (staged file, never committed) ────────────────────────────────
# airootfs/root/.iso-build-stamp lands at /root/.iso-build-stamp on the ISO;
# customize_airootfs.sh installs it as /etc/alvin-build-stamp, and alvin-install
# appends it to the installed system's /etc/motd. Only stamp builds from a git
# customize_airootfs.sh keeps it as /etc/alvin-build-stamp and appends it to
# the live medium's /etc/motd (the installed system's motd is left alone).
# Only stamp builds from a git
# checkout or CI — a random source-tarball build would record a bogus commit.
# Sourced by mkarchiso under `set -eu`, hence every expansion is defaulted.
_stamp_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"