diff --git a/hosts/tadpole/modules/boot/default.nix b/hosts/tadpole/modules/boot/default.nix index 7d4c813..d2366b4 100644 --- a/hosts/tadpole/modules/boot/default.nix +++ b/hosts/tadpole/modules/boot/default.nix @@ -1,14 +1,27 @@ -{ inputs, config, ... }: +{ inputs, lib, config, ... }: +let + configurationLimit = config.mod.gc.configurationLimit; +in { imports = [ inputs.nix-gc-env.nixosModules.default ]; + options = { + mod.gc = { + configurationLimit = lib.mkOption { + type = lib.types.int; + default = 10; + description = "number of configuration generations to keep"; + }; + }; + }; + config = { nix.gc = { automatic = true; dates = "weekly"; # `delete_generations` added by nix-gc-env - delete_generations = "+${builtins.toString config.boot.loader.systemd-boot.configurationLimit}"; + delete_generations = "+${builtins.toString configurationLimit}"; }; boot = { @@ -17,7 +30,7 @@ enable = true; device = "/dev/sda"; - configurationLimit = 10; + inherit configurationLimit; }; }; }; diff --git a/hosts/tadpole/modules/default.nix b/hosts/tadpole/modules/default.nix index 97d1980..5b32fe5 100644 --- a/hosts/tadpole/modules/default.nix +++ b/hosts/tadpole/modules/default.nix @@ -8,6 +8,8 @@ in config = { mod = { + gc.configurationLimit = 10; + ssh.enable = true; nginx.enable = true;