From c47eb9216900f684d2a5170ee3814879bf8da751 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 16 Aug 2026 06:45:53 -0700 Subject: [PATCH 1/2] Add zsh and linux-firmware to rootfs packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit users.conf sets every new user's default shell to zsh regardless of which desktop environment they choose, but zsh was never actually guaranteed to be installed — this locks users out at their very first login (pam_shells.so rejects the shell before the password is even checked). Fixed by ensuring zsh is present for every install, not just KDE. Also adds linux-firmware, without which GPU/wifi/etc. drivers can fail to initialize entirely on first boot. --- iso-profiles/antergos/profile.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/iso-profiles/antergos/profile.yaml b/iso-profiles/antergos/profile.yaml index 15aec12..c9b854c 100644 --- a/iso-profiles/antergos/profile.yaml +++ b/iso-profiles/antergos/profile.yaml @@ -61,6 +61,16 @@ rootfs: - kwin-zones - oh-my-posh-bin - pacseek + # Fixes a real lockout bug: users.conf sets every new user's shell to + # zsh regardless of which desktop they choose, but zsh was never + # actually guaranteed to be installed. This applies to every desktop + # choice, not just KDE, so it belongs here rather than in any one + # desktop's package block. + - zsh + # Without this, GPU/wifi/etc. drivers can fail to initialize at all + # on first boot — worse than anything a post-install tool can fix, + # since the person may not even get a usable display to fix it with. + - linux-firmware packages-init: dinit: - pipewire-dinit -- 2.54.0 From 7d981c40dd19a7c9de403da5bf226d5d87e86706 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 16 Aug 2026 09:55:47 -0700 Subject: [PATCH 2/2] Fix: move to basestrap.conf, the step that actually runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit profile.yaml only affects the live ISO session and is never applied to the installed target — verified against the full 32-step Calamares install sequence in docs/installer.md. basestrap.conf's operations list is the correct, unconditional location that runs regardless of desktop choice. --- .../etc/calamares/modules/basestrap.conf | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/iso-profiles/antergos/live-overlay/etc/calamares/modules/basestrap.conf b/iso-profiles/antergos/live-overlay/etc/calamares/modules/basestrap.conf index 495f11f..5db4dba 100644 --- a/iso-profiles/antergos/live-overlay/etc/calamares/modules/basestrap.conf +++ b/iso-profiles/antergos/live-overlay/etc/calamares/modules/basestrap.conf @@ -33,4 +33,17 @@ operations: - base - antergos-next-keyring - antergos-release + # Without this, GPU/wifi/etc. drivers can fail to initialize at all + # on first boot. This belongs in basestrap.conf rather than + # profile.yaml — profile.yaml only affects the live ISO session, + # never the installed target. basestrap is the step in Calamares' + # actual install sequence that's guaranteed to run for every + # install regardless of desktop choice (verified against the full + # 32-step sequence documented in docs/installer.md). + - linux-firmware + # users.conf sets every new user's default shell to zsh regardless + # of desktop choice, but zsh was never guaranteed to be installed — + # a real login lockout (pam_shells.so rejects the shell before the + # password is even checked). Same reasoning as linux-firmware above. + - zsh -- 2.54.0