diff --git a/modules/nix-daemon.nix b/modules/nix-daemon.nix index ffda29f..b45d3a8 100644 --- a/modules/nix-daemon.nix +++ b/modules/nix-daemon.nix @@ -24,11 +24,19 @@ in config = { warnings = lib.optionals (config.simd.arch == null) [ "Please set simd.arch for ${config.networking.hostName}" ]; + # Allow more open files for non-root users to run NixOS VM tests. + security.pam.loginLimits = [ + { domain = "*"; item = "nofile"; type = "-"; value = "20480"; } + ]; nix = { + # Garbage-collect often gc.automatic = true; - gc.dates = "03:15"; - gc.options = "--delete-older-than 30d"; + gc.dates = "*:45"; + gc.options = ''--max-freed "$((128 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | ${pkgs.gawk}/bin/awk '{ print $4 }')))"''; + + # Randomize GC to avoid thundering herd effects. + gc.randomizedDelaySec = "1800"; # 2.11, 2.12 suffers from a bug with remote builders… package = pkgs.nixVersions.nix_2_13;