diff options
-rw-r--r-- | flake.nix | 13 | ||||
-rw-r--r-- | lib/mkserver.nix | 20 |
2 files changed, 25 insertions, 8 deletions
@@ -53,6 +53,10 @@ disko.nixosModules.disko nixos-facter-modules.nixosModules.facter ]; + + mkServer = import ./lib/mkserver.nix { + inherit nixpkgs inputs; + }; in { nixosConfigurations.work = nixpkgs.lib.nixosSystem { @@ -96,13 +100,6 @@ ]; }; - nixosConfigurations.backup = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = coreModules ++ deviceMgmtModules ++ [ - { config.facter.reportPath = ./node/backup.jras.nl/facter.json; } - ./node/backup.jras.nl - ]; - }; + nixosConfigurations.backup = mkServer "backup.jras.nl"; }; } diff --git a/lib/mkserver.nix b/lib/mkserver.nix new file mode 100644 index 0000000..1c2f884 --- /dev/null +++ b/lib/mkserver.nix @@ -0,0 +1,20 @@ +{ nixpkgs, inputs }: +let + defaultModules = [ + inputs.home-manager.nixosModules.home-manager + inputs.agenix.nixosModules.default + inputs.disko.nixosModules.disko + inputs.nixos-facter-modules.nixosModules.facter + ]; +in +nodeName: +nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + + specialArgs = { inherit inputs; }; + + modules = defaultModules ++ [ + { config.facter.reportPath = ./node/${nodeName}/facter.json; } + ./node/${nodeName} + ]; +} |