summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.nix13
-rw-r--r--lib/mkserver.nix20
2 files changed, 25 insertions, 8 deletions
diff --git a/flake.nix b/flake.nix
index 739c067..aa8d6a6 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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 = ./nodes/backup.jras.nl/facter.json; }
- ./nodes/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..7c7f4fe
--- /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 = ../nodes/${nodeName}/facter.json; }
+ ../nodes/${nodeName}
+ ];
+}