From 498668488f801d6accb7d7937f958eecc3135ac3 Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Fri, 30 Nov 2018 09:40:53 +0100
Subject: lib: add mapNixDir{,1}

---
 lib/default.nix | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'lib')

diff --git a/lib/default.nix b/lib/default.nix
index a40225c..7b964b2 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -44,6 +44,23 @@ let
 
     indent = replaceChars ["\n"] ["\n  "];
 
+    mapNixDir = f: x: {
+      list = foldl' mergeAttrs {} (map (mapNixDir1 f) x);
+      path = mapNixDir1 f x;
+    }.${typeOf x};
+
+    mapNixDir1 = f: dirPath:
+      listToAttrs
+        (map
+          (relPath: let
+            name = removeSuffix ".nix" relPath;
+            path = dirPath + "/${relPath}";
+          in
+            nameValuePair name (f path))
+          (filter
+            (name: name != "default.nix" && !hasPrefix "." name)
+            (attrNames (readDir dirPath))));
+
     # https://tools.ietf.org/html/rfc5952
     normalize-ip6-addr =
       let
-- 
cgit v1.2.3


From b1eb3d2e8db82b2a207a6cf966742e05444c8019 Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Fri, 30 Nov 2018 13:42:44 +0100
Subject: lib: add krops

---
 lib/default.nix | 1 +
 1 file changed, 1 insertion(+)

(limited to 'lib')

diff --git a/lib/default.nix b/lib/default.nix
index 7b964b2..4cb0332 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -5,6 +5,7 @@ let
     evalSource = import ./eval-source.nix;
 
     git = import ./git.nix { inherit lib; };
+    krops = import ../submodules/krops/lib;
     shell = import ./shell.nix { inherit lib; };
     types = nixpkgs-lib.types // import ./types.nix { inherit lib; };
 
-- 
cgit v1.2.3


From a69837925da39988eb9ddeb5e00664ed5eda3d3f Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Sun, 2 Dec 2018 14:14:03 +0100
Subject: lib.types.user: use genid_uint31

Refs https://github.com/systemd/systemd/issues/11026
---
 lib/types.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'lib')

diff --git a/lib/types.nix b/lib/types.nix
index d663d25..0168533 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -3,7 +3,7 @@
 let
   inherit (lib)
     all any attrNames concatMapStringsSep concatStringsSep const filter flip
-    genid hasSuffix head isInt isString length mergeOneOption mkOption
+    genid_uint31 hasSuffix head isInt isString length mergeOneOption mkOption
     mkOptionType optional optionalAttrs optionals range splitString
     stringLength substring test testString typeOf;
   inherit (lib.types)
@@ -365,7 +365,7 @@ rec {
       };
       uid = mkOption {
         type = int;
-        default = genid config.name;
+        default = genid_uint31 config.name;
       };
     };
   });
@@ -377,7 +377,7 @@ rec {
       };
       gid = mkOption {
         type = int;
-        default = genid config.name;
+        default = genid_uint31 config.name;
       };
     };
   });
-- 
cgit v1.2.3


From 006364274f516eb41def5f711c23b19e0b0a41f8 Mon Sep 17 00:00:00 2001
From: lassulus <lassulus@lassul.us>
Date: Mon, 3 Dec 2018 07:45:20 +0100
Subject: lib: genid is genid_unit32

---
 lib/default.nix | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'lib')

diff --git a/lib/default.nix b/lib/default.nix
index 4cb0332..348d47e 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -13,8 +13,9 @@ let
     ne = x: y: x != y;
     mod = x: y: x - y * (x / y);
 
-    genid = import ./genid.nix { inherit lib; };
-    genid_uint31 = x: ((lib.genid x) + 16777216) / 2;
+    genid = lib.genid_uint32; # TODO remove
+    genid_uint31 = x: ((lib.genid_uint32 x) + 16777216) / 2;
+    genid_uint32 = import ./genid.nix { inherit lib; };
 
     lpad = n: c: s:
       if lib.stringLength s < n
-- 
cgit v1.2.3