bos/iso/airootfs/etc
Breadway 434efcea22
All checks were successful
Mirror to GitHub / mirror (push) Successful in 3s
Build and publish package / package (push) Successful in 2m5s
Build and release ISO / release-iso (push) Successful in 13m59s
Fix snapper create-config race: retry the whole dance, not just umount
Confirmed on the test laptop's real install: /etc/snapper/configs/ was
completely empty post-install — snapper create-config failed silently and
BOS's advertised snapshot/rollback feature was entirely non-functional,
despite snapper-cleanup.timer being enabled and grub-btrfsd active (both
harmless no-ops with no config to act on).

Root cause is the known chroot-specific busy-mount race already documented
in this section's comments, but the existing recovery (retry umount 5x,
then one lazy-unmount fallback) wasn't sufficient on this hardware — a
lazy unmount detaches the mountpoint from the namespace immediately, but
whatever was holding it busy can take a moment longer to actually release,
and the immediately-following rmdir/create-config both fail if anything
still references /.snapshots at that instant.

Wrap the entire unmount → rmdir → create-config → cleanup → remount
sequence in an outer retry loop (checking whether the config file actually
exists before each attempt and after the loop), add a settle delay after
the lazy-unmount fallback, and turn the final failure into a loud ERROR
instead of a warning that's easy to miss — a system silently shipping
without snapshots is worse than one that's slow to set them up.
2026-07-04 19:00:15 +08:00
..
calamares Fix snapper create-config race: retry the whole dance, not just umount 2026-07-04 19:00:15 +08:00
default Default to zsh distro-wide (live user + useradd default) 2026-06-17 17:45:07 +08:00
greetd Fix boot-critical, session, and UX bugs found in round-3 UX audit 2026-07-03 22:04:26 +08:00
mkinitcpio.conf.d Fix install-breaking and live-boot bugs, verified on real hardware 2026-07-03 13:31:40 +08:00
mkinitcpio.d Add archiso initramfs hooks so the live ISO can switch root 2026-06-14 02:55:53 +08:00
pacman.d Make BOS a complete, bootable, themed desktop OS 2026-06-16 09:09:34 +08:00
plymouth Fix install-breaking and live-boot bugs, verified on real hardware 2026-07-03 13:31:40 +08:00
profile.d Make BOS a complete, bootable, themed desktop OS 2026-06-16 09:09:34 +08:00
skel Fix pywal-brown theme regression: stop clobbering the curated black palette 2026-07-03 22:35:50 +08:00
sudoers.d Run the live session as an unprivileged user (Hyprland won't run as root) 2026-06-14 04:13:10 +08:00
systemd Complete the desktop: default apps, mDNS, firewall, zram, fonts 2026-06-16 14:47:06 +08:00
hostname Add live-environment config so the ISO boots straight to the session 2026-06-14 03:13:54 +08:00
locale.conf Add live-environment config so the ISO boots straight to the session 2026-06-14 03:13:54 +08:00
localtime Add live-environment config so the ISO boots straight to the session 2026-06-14 03:13:54 +08:00
os-release Fix boot-critical, session, and UX bugs found in round-3 UX audit 2026-07-03 22:04:26 +08:00
pacman.conf Minor cleanups: gitignore out/, expect() messages, comment wording 2026-06-17 22:57:58 +08:00
passwd Add live-environment config so the ISO boots straight to the session 2026-06-14 03:13:54 +08:00
shadow Add live-environment config so the ISO boots straight to the session 2026-06-14 03:13:54 +08:00
vconsole.conf Add live-environment config so the ISO boots straight to the session 2026-06-14 03:13:54 +08:00