Libérer de l'espace disque Nix automatiquement

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
This commit is contained in:
Pierre Martin
2026-10-30 08:16:58 +01:00
co-authored by Sans.pub
parent 3bbc04c1c8
commit ad123cd12c
2 changed files with 11 additions and 6 deletions
+2 -1
View File
@@ -37,6 +37,7 @@ update:
$(MAKE) gc
# Nettoyage Nix (générations > 14 jours + garbage collect)
# Même politique que nix.gc.automatic dans nixos/configuration.nix.
gc:
@echo "=== Générations utilisateur ==="
nix-env --list-generations
@@ -51,7 +52,7 @@ gc:
sudo nix-env --delete-generations 14d --profile /nix/var/nix/profiles/system
@echo ""
@echo "=== Garbage collection ==="
sudo nix-collect-garbage
sudo nix-collect-garbage --delete-older-than 14d
@echo ""
@echo "=== Espace disque /nix/store ==="
du -sh /nix/store