diff options
| author | seth <[email protected]> | 2023-04-17 18:58:34 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-04-17 18:58:34 -0400 |
| commit | f50323e2f275da3456bc48adcb551811294298ac (patch) | |
| tree | 3af8398bda61a8bff49ce95e9a110c90ef2eaab8 /lib | |
| parent | b6c93c98510a8e60121572d2a7612e6fe3924f32 (diff) | |
further improve lib
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/default.nix | 17 | ||||
| -rw-r--r-- | lib/host.nix | 15 | ||||
| -rw-r--r-- | lib/user.nix | 15 |
3 files changed, 23 insertions, 24 deletions
diff --git a/lib/default.nix b/lib/default.nix index afd2890..94acb96 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -2,10 +2,15 @@ inherit (builtins) readDir; inherit (lib) filterAttrs mapAttrs; - mapFilterDirs = dir: filter: map: let - dirs = filterAttrs filter (readDir dir); - in - mapAttrs map dirs; + my = { + mapFilterDirs = dir: filter: map: let + dirs = filterAttrs filter (readDir dir); + in + mapAttrs map dirs; + }; + + myLib = lib.extend (_: _: {inherit my;}); + common = {lib = myLib;}; in - (import ./host.nix {inherit mapFilterDirs;}) - // (import ./user.nix {inherit mapFilterDirs;}) + (import ./host.nix common) + // (import ./user.nix common) diff --git a/lib/host.nix b/lib/host.nix index 767124c..5b092b4 100644 --- a/lib/host.nix +++ b/lib/host.nix @@ -1,4 +1,4 @@ -{mapFilterDirs}: rec { +{lib}: rec { mkHost = { name, modules, @@ -34,14 +34,11 @@ mapHosts = inputs: let hosts = import ../hosts inputs; + inherit (lib.my) mapFilterDirs; in mapFilterDirs ../hosts (n: v: v == "directory" && n != "turret") (name: _: - mkHost { - inherit name inputs; - inherit (hosts.${name}) modules system stateVersion pkgs; - specialArgs = - if builtins.hasAttr "specialArgs" hosts.${name} - then hosts.${name}.specialArgs - else {}; - }); + mkHost ({ + inherit name inputs; + } + // hosts.${name})); } diff --git a/lib/user.nix b/lib/user.nix index 75244eb..88e466f 100644 --- a/lib/user.nix +++ b/lib/user.nix @@ -1,4 +1,4 @@ -{mapFilterDirs}: rec { +{lib}: rec { mkHMUser = { username, pkgs, @@ -25,14 +25,11 @@ mapHMUsers = inputs: system: let users = import ../users inputs system; + inherit (lib.my) mapFilterDirs; in mapFilterDirs ../users (n: v: v == "directory" && n != "secrets") (username: _: - mkHMUser { - inherit username inputs; - inherit (users.${username}) pkgs stateVersion; - modules = - if builtins.hasAttr "modules" users.${username} - then users.${username}.modules - else []; - }); + mkHMUser ({ + inherit username inputs; + } + // users.${username})); } |
