summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/README.md5
-rw-r--r--lib/builders.nix66
-rw-r--r--lib/default.nix10
-rw-r--r--lib/nginx.nix3
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