docs: plan the post-boot hygiene tasks
neogaia was installed from a configuration written before the hardware existed, so several things are now knowably wrong rather than guessed. Adopt the upstream hardware profile for this laptop, which fixes deep sleep, thermal management and the touchpad driver. Bound the store, the retained generations and the boot menu, none of which have a limit today. Declare the commit identity, which currently lives only in one checkout. Grow the EFI system partition, which holds around seven generations at its present size and cannot be enlarged in place, since the encrypted container immediately behind it would have to be relocated. That makes a reimage the only practical route, and the cheapest moment for one is now. It doubles as the reproducibility test of the install documentation.
This commit is contained in:
18
.claude/tasks/0014-nix-store-housekeeping.md
Normal file
18
.claude/tasks/0014-nix-store-housekeeping.md
Normal file
@@ -0,0 +1,18 @@
|
||||
## What to build
|
||||
|
||||
Bound the three things on this machine that currently grow without any limit: the Nix store, the set of retained system generations, and the boot menu.
|
||||
|
||||
Garbage collection runs weekly, deleting generations older than 30 days. That window is the point of the setting — on a rolling channel with a third-party kernel, the value of an old generation is having a known-good system to boot when an update breaks something, and disk space is not scarce here: the store is under 5 GiB against 473 GiB free.
|
||||
|
||||
Store optimisation runs weekly on its own schedule rather than at build time, so deduplication never adds latency to a rebuild.
|
||||
|
||||
Retained boot configurations are capped at 15. Each generation stores a kernel and an initrd on the EFI system partition at roughly 70 MiB apiece, and that partition is small and fixed. An exhausted one fails at bootloader installation — after the build has already succeeded, which is a confusing place to get stuck. The cap assumes the enlarged partition; on the current 512 MiB one only about seven fit.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] Automatic garbage collection is enabled weekly, deleting generations older than 30 days
|
||||
- [ ] Store optimisation is scheduled weekly, rather than performed at build time
|
||||
- [ ] Retained boot configurations are capped at 15
|
||||
- [ ] These are declared as plumbing in the shared base config, so every future `Host` inherits them
|
||||
- [ ] `nix flake check` builds the `neogaia` toplevel
|
||||
- [ ] Manual confirmation after a rebuild: the collection and optimisation timers exist and are scheduled
|
||||
Reference in New Issue
Block a user