summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseth <[email protected]>2023-04-17 18:58:34 -0400
committerseth <[email protected]>2023-04-17 18:58:34 -0400
commitf50323e2f275da3456bc48adcb551811294298ac (patch)
tree3af8398bda61a8bff49ce95e9a110c90ef2eaab8
parentb6c93c98510a8e60121572d2a7612e6fe3924f32 (diff)
further improve lib
-rw-r--r--lib/default.nix17
-rw-r--r--lib/host.nix15
-rw-r--r--lib/user.nix15
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}));
}