veilor-os/overlay/usr/local/bin
veilor-org 7286697a64 v0.5.6: anaconda --cmdline + XDG_RUNTIME_DIR for unattended install
v0.5.5 fixed AnacondaError: 'LANG'. Auto-install harness then
hit next crash:

  TypeError: expected str, bytes or os.PathLike object, not NoneType
  File "/usr/lib64/python3.14/site-packages/pyanaconda/display.py", line 223
    wl_socket_path = os.path.join(os.getenv("XDG_RUNTIME_DIR"), ...)

anaconda's display.setup_display() unconditionally tries to set up
Wayland socket path. tty1 has no XDG_RUNTIME_DIR set. None gets passed
to os.path.join → TypeError.

Two-part fix:
1. export XDG_RUNTIME_DIR=/run/user/0 + mkdir, so even if anaconda
   probes it, the env var has a valid string value.
2. Pass --cmdline to anaconda. Fully unattended text-only mode, no
   Wayland/X/TUI. Right fit for our gum-driven kickstart flow where
   ks is self-contained (disk, pw, locale all pre-answered).

Combined effect: anaconda goes straight from CLI parse → kickstart
execute → reboot. No display subsystem at all.

Surfaced by test/auto-install.sh round 2.
2026-05-03 01:35:52 +01:00
..
veilor-doctor v0.6: pre-stage veilor-update + veilor-doctor CLI tools (#11) 2026-05-02 04:39:33 +01:00
veilor-firstboot v0.5.2: move veilor-installer + veilor-firstboot to /usr/local/bin 2026-05-02 05:33:22 +01:00
veilor-installer v0.5.6: anaconda --cmdline + XDG_RUNTIME_DIR for unattended install 2026-05-03 01:35:52 +01:00
veilor-power veilor-os v0.1 scaffold — kickstart + hardening + 3-mode power + DuckSans-ready KDE black theme 2026-04-30 03:43:33 +01:00
veilor-update v0.6: pre-stage veilor-update + veilor-doctor CLI tools (#11) 2026-05-02 04:39:33 +01:00