diff --git a/Makefile b/Makefile index a36f2f5..46aa8be 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 5d50be2..3a1ab34 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -206,15 +206,19 @@ networking.firewall.allowedUDPPorts = [ 9003 ]; # Or disable the firewall altogether. # networking.firewall.enable = false; - # https://github.com/nix-community/nix-direnv/ - nix.extraOptions = '' - keep-outputs = true - keep-derivations = true - ''; nix.settings.extra-experimental-features = [ "nix-command" "flakes" ]; + nix.settings.auto-optimise-store = true; + + # Les environnements direnv sont protégés par leurs propres gcroots + # (nix-direnv "_nix_add_gcroot"), inutile de garder outputs/derivations. + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 14d"; + }; # Cache binaire de https://github.com/lukasl-dev/pi.nix (cf. programs/pi.nix) nix.settings.extra-substituters = [ "https://pi.cachix.org" ];