diff options
Diffstat (limited to 'lib/builders.nix')
| -rw-r--r-- | lib/builders.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/builders.nix b/lib/builders.nix new file mode 100644 index 0000000..3cedb59 --- /dev/null +++ b/lib/builders.nix @@ -0,0 +1,66 @@ +{ + lib, + inputs, + self, + ... +}: +{ + nixosSystem = + { + nixpkgs ? inputs.nixpkgs, + specialArgs ? { }, + ... + }@args: + nixpkgs.lib.nixosSystem ( + lib.removeAttrs args [ "nixpkgs" ] + // { + specialArgs = specialArgs // { + inherit inputs; + }; + } + ); + + darwinSystem = + { + nix-darwin ? inputs.nix-darwin or inputs.darwin, + specialArgs ? { }, + ... + }@args: + nix-darwin.lib.darwinSystem ( + lib.removeAttrs args [ "nix-darwin" ] + // { + specialArgs = specialArgs // { + inherit inputs; + }; + } + ); + + homeManagerConfiguration = + { + extraSpecialArgs ? { }, + ... + }@args: + inputs.home-manager.lib.homeManagerConfiguration ( + args + // { + extraSpecialArgs = extraSpecialArgs // { + inherit inputs; + }; + } + ); + + mkModule = + { + name, + type, + imports, + }@args: + { + _file = "${self.outPath}/flake.nix#${type}Modules.${name}"; + inherit imports; + } + // lib.removeAttrs args [ + "name" + "type" + ]; +} |
