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 | |
| 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')
| -rw-r--r-- | lib/README.md | 5 | ||||
| -rw-r--r-- | lib/builders.nix | 66 | ||||
| -rw-r--r-- | lib/default.nix | 10 | ||||
| -rw-r--r-- | lib/nginx.nix | 3 |
4 files changed, 79 insertions, 5 deletions
diff --git a/lib/README.md b/lib/README.md index 97814c5..ad2d3ae 100644 --- a/lib/README.md +++ b/lib/README.md @@ -1,5 +1,10 @@ # ./lib/ +## builders.nix + +Light wrappers around functions like `nixosSystem` and +`homeManagerConfiguration` + ## nginx.nix Small helpers to avoid boilerplate in the `services.nginx` module 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" + ]; +} diff --git a/lib/default.nix b/lib/default.nix index df8d9fb..96d0a9f 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,9 +1,11 @@ { lib, + inputs, + self, ... }: -{ - flake.lib = { - nginx = import ./nginx.nix lib; - }; + +lib.mapAttrs (_: file: import file { inherit lib inputs self; }) { + builders = ./builders.nix; + nginx = ./nginx.nix; } diff --git a/lib/nginx.nix b/lib/nginx.nix index c2c99fb..80eb6ad 100644 --- a/lib/nginx.nix +++ b/lib/nginx.nix @@ -1,4 +1,5 @@ -lib: { +{ lib, ... }: +{ /** Create an NGINX virtualHost submodule proxying a local port |
