From 3becfac66dc569e71d0f6085fb56e92cfa6d626a Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 24 Jul 2026 12:19:04 -0500 Subject: fix(installer): eight fixes from an overnight bug-hunt and its review I squashed these because the per-bug reasoning lives in todo.org, which this commit carries. Two could cost a machine. configure_initramfs_hook swapped the udev hook for systemd on a LUKS root, leaving a standalone encrypt hook under an init that never runs it. The rebuild succeeds and the installer exits clean, then the root won't unlock at the next boot. trim_firmware ran pacman -Rdd against twelve firmware packages behind a DMI gate reading product_name, where "Framework" never appears. That left it dead on the hardware it targets, and dangerous to fix the obvious way: this machine is a Framework Desktop whose Ryzen iGPU needs the amdgpu firmware. It refuses on PCI modalias evidence now. wipedisk discarded before it checked. blkdiscard ran with -f, which disables the exclusive open, so picking the wrong disk destroyed a live filesystem and then reported that nothing had happened. Four more are smaller. The NVIDIA preflight aborted dwm and headless installs over a driver floor they never need. zfs-replicate exited 0 after every dataset failed. Unattended installs blocked on two prompts, and the first fix for that inherited a [Y/n] default into passwordless console login. A fresh install left the dotfiles repo permanently dirty. The review found a pattern worth more than any single fix. Helpers had thorough tests and none proved they were called. Deleting the call left five suites green, including the guard on that pacman -Rdd. CALL_SITES now pins nine caller/callee pairs. The suite runs 341 tests at exit 0, with no new shellcheck findings. I proved every guard by deleting it and watching the intended test go red. --- archsetup.conf.example | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'archsetup.conf.example') diff --git a/archsetup.conf.example b/archsetup.conf.example index 82f6898..723c035 100644 --- a/archsetup.conf.example +++ b/archsetup.conf.example @@ -28,6 +28,10 @@ # Automatic console login after disk decryption (default: prompt on encrypted systems) # Options: yes, no # Only relevant for systems with encrypted root (LUKS or ZFS native encryption) +# Unattended runs (--config-file) cannot answer a prompt, so leaving this unset +# leaves console autologin DISABLED and says so. Passwordless console login is +# not something to inherit from a prompt default nobody saw. Set AUTOLOGIN=yes +# to opt in. #AUTOLOGIN=yes # Skip GPU driver auto-detection and installation (default: no) @@ -44,7 +48,8 @@ # specific hardware; set to "no" if your machine doesn't have those devices. #INSTALL_DEVICE_UDEV_RULES=yes -# System locale (default: prompt if not already configured) +# System locale (default: prompt if not already configured; an unattended run +# with no locale.conf takes en_US.UTF-8, the menu's own default) # Common options: en_US.UTF-8, en_GB.UTF-8, de_DE.UTF-8, es_ES.UTF-8, # fr_FR.UTF-8, pt_BR.UTF-8, ja_JP.UTF-8, zh_CN.UTF-8 #LOCALE=en_US.UTF-8 -- cgit v1.2.3