Le store Nix pesait 115 G sur un disque rempli à 94 %. Trois leviers :
- Supprimer keep-outputs / keep-derivations : ces options retenaient les
.drv et leurs inputs de build dans le store, ce qui annulait une grande
partie du garbage collection. Les environnements direnv ne risquent
rien : nix-direnv crée un gcroot par projet (_nix_add_gcroot), et un
chemin protégé n'est jamais purgé.
- activer auto-optimise-store : déduplique le store par hardlinks, ce qui
vise les 26 G occupés par /nix/store/.links (fichiers dupliqués).
- programmer un garbage collection hebdomadaire, qui supprime les
générations de plus de 14 jours.
`make gc` est aligné sur la même politique de rétention, au lieu de
purger toutes les générations système, ce qui rendait tout rollback
impossible.
*Rédaction assistée par IA (LM-Code)*
Co-Authored-By: LM-Code
- xargs -0 -r sur toutes les cibles : si find ne retourne rien,
nixfmt/shfmt lisaient stdin et make fmt/check restait bloqué
(testé et reproduit avant correction)
- CLAUDE.md : retire la ligne shell.nix (fichier inexistant)
Add `make update` to run nixos-rebuild switch --upgrade-all followed by
garbage collection, and `make gc` to clean up user/system generations
older than 14 days and run nix-collect-garbage.