aboutsummaryrefslogtreecommitdiff
path: root/scripts/arch-distrobox
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-20 15:50:44 -0500
committerCraig Jennings <c@cjennings.net>2026-07-20 15:50:44 -0500
commit8917f2fd17a729af55138d6240cd363887f3d83e (patch)
tree22009e0b19eebb3b0c0d58ac755c6183bd3c93ee /scripts/arch-distrobox
parent71029f3235a6567d0eb76f146cb2325b314d1bcf (diff)
downloadarchsetup-8917f2fd17a729af55138d6240cd363887f3d83e.tar.gz
archsetup-8917f2fd17a729af55138d6240cd363887f3d83e.zip
fix(installer): make three resume-fragile steps idempotent and correct
Each of these steps misbehaves on a resume re-run or under unexpected system state, so I pulled the logic into small testable helpers and fixed the behavior. The log-cleanup cron line was appended unconditionally. essential_services is one resume step, so a failure past that point plus a re-run stacked a second identical cron line every time. crontab_append_once now appends only when no existing line matches. The weekly ZFS scrub timer used `zpool list | head -1`, which picks an arbitrary pool when several exist and builds the malformed unit `zfs-scrub-weekly@.timer` when none do. zfs_scrub_timer_units emits one timer per pool and nothing for no pools, so every pool is scrubbed and an absent pool warns instead of enabling a broken unit. gamemode was enabled through `systemctl --user enable`, which the script itself documents fails at install time with no user session bus -- so gamemoded was likely left un-enabled behind a silent warning. It now wires the wants symlink by hand through enable_user_service, the same helper syncthing's block folds into.
Diffstat (limited to 'scripts/arch-distrobox')
0 files changed, 0 insertions, 0 deletions