diff options
| author | seth <[email protected]> | 2024-10-18 03:10:35 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-10-18 07:10:35 +0000 |
| commit | e6f79b30e620cf7bd5b06e2579e979ff090e925a (patch) | |
| tree | 1dd2b20126602ef448f77fbb9cdd44ba7f02a58c /lib/builders.nix | |
| parent | fdaf8680ef5bbcadb7cece43911beff18f90cdb2 (diff) | |
more refactors & outsource some things (#477)
* tree-wide: drop flake-parts
* drop nixinate
* justfile: cleanup
* drop treefmt-nix
* doc: update READMEs
* flake: cleanup
* seth: don't use `./.`
* modules/nixos,darwin: bundle all modules
They all depend on each other anyways so
* systems: manually import internal modules
* seth: use riff module from nix-exprs
* flake: back to flake-parts
* Revert "flake: back to flake-parts"
This reverts commit 35334882f7c0c23991a4efd65ea08b216006b2b0.
Saving the last commit so I can go back if I want
* flake: use lib.const
this looks better...right?
* flake: declare systems like a normal person
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" + ]; +} |
