aboutsummaryrefslogtreecommitdiff
path: root/modules/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/default.nix')
-rw-r--r--modules/default.nix26
1 files changed, 26 insertions, 0 deletions
diff --git a/modules/default.nix b/modules/default.nix
new file mode 100644
index 0000000..4930139
--- /dev/null
+++ b/modules/default.nix
@@ -0,0 +1,26 @@
+{ inputs }:
+let
+ genModules = { type, modules }:
+ builtins.map (module: "${inputs.self}/modules/${type}/${module}") modules;
+
+ makeModules = moduleAttrList:
+ builtins.concatMap (moduleAttr: genModules moduleAttr) moduleAttrList;
+in
+{
+ makeSystem = hostname: nixpkgsVersion: modules: {
+ ${hostname} = nixpkgsVersion.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = (makeModules modules) ++ [
+ "${inputs.self}/hosts/${hostname}"
+ "${inputs.self}/modules/users"
+ inputs.home-manager.nixosModules.home-manager
+ inputs.agenix.nixosModules.default
+ ];
+ specialArgs = { inherit inputs; };
+ };
+ };
+
+ mergeSets = inputs.nixpkgs.lib.lists.foldl' (
+ x: y: inputs.nixpkgs.lib.attrsets.recursiveUpdate x y
+ ) { };
+}