{ lib, pkgs, ... }: { nix = { package = pkgs.nixVersions.latest; diffSystem = true; settings = { experimental-features = [ "nix-command" "flakes" ]; keep-outputs = true; builders-use-substitutes = true; connect-timeout = 20; substituters = [ "https://cache.nixos.org/?priority=1&want-mass-query=true" "https://nix-community.cachix.org/?priority=10&want-mass-query=true" ]; trusted-substituters = [ "https://cache.nixos.org" "https://nix-community.cachix.org" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; trusted-users = [ "root" "@wheel" ]; }; # free up to 10 gb when only 1 gb left extraOptions = '' min-free = ${toString (1 * 1024 * 1024 * 1024)} max-free = ${toString (10 * 1024 * 1024 * 1024)} ''; gc = lib.mkDefault { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; optimise = { automatic = true; dates = [ "01:00" ]; }; }; }