diff --git a/overlay/usr/local/bin/veilor-installer b/overlay/usr/local/bin/veilor-installer index feab14c..dfa665a 100644 --- a/overlay/usr/local/bin/veilor-installer +++ b/overlay/usr/local/bin/veilor-installer @@ -529,7 +529,17 @@ Logs: /var/log/veilor-installer.log + /tmp/anaconda.log" # default. Use the locale the user picked (or fall back to en_GB). export LANG="${SEL_LOCALE:-en_GB.UTF-8}" export LC_ALL="$LANG" - if anaconda --kickstart=/run/install/veilor-generated.ks; then + # XDG_RUNTIME_DIR must exist — anaconda's display.setup_display() + # tries os.getenv("XDG_RUNTIME_DIR") + constants.WAYLAND_SOCKET_NAME + # and crashes with TypeError on None. We're running unattended so + # no graphical display is needed, but the env var still has to exist. + export XDG_RUNTIME_DIR="/run/user/$(id -u)" + mkdir -p "$XDG_RUNTIME_DIR" + chmod 0700 "$XDG_RUNTIME_DIR" + # --cmdline: fully unattended text-only mode. No Wayland setup, no + # graphical/text TUI. Reads kickstart, executes, reboots. Right mode + # for our gum-driven flow where ks is fully self-contained. + if anaconda --cmdline --kickstart=/run/install/veilor-generated.ks; then prompt_message "Install complete. System will reboot. Remove the install media after shutdown." sleep 3