about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nix/utils/OWNERS3
-rw-r--r--nix/utils/default.nix24
-rw-r--r--users/Profpatsch/arglib/netencode.nix (renamed from users/Profpatsch/arglib/default.nix)6
-rw-r--r--users/Profpatsch/execline/default.nix2
-rw-r--r--users/Profpatsch/netencode/default.nix2
-rw-r--r--users/Profpatsch/netstring/default.nix16
-rw-r--r--users/Profpatsch/netstring/tests/default.nix (renamed from users/Profpatsch/netstring/tests.nix)11
-rw-r--r--users/Profpatsch/nixpkgs-rewriter/default.nix2
-rw-r--r--users/Profpatsch/tree-sitter.nix2
-rw-r--r--users/Profpatsch/writers/default.nix14
-rw-r--r--users/Profpatsch/writers/tests/default.nix (renamed from users/Profpatsch/writers/tests.nix)19
11 files changed, 58 insertions, 43 deletions
diff --git a/nix/utils/OWNERS b/nix/utils/OWNERS
new file mode 100644
index 0000000000..f16dd105d7
--- /dev/null
+++ b/nix/utils/OWNERS
@@ -0,0 +1,3 @@
+inherited: true
+owners:
+  - sterni
diff --git a/nix/utils/default.nix b/nix/utils/default.nix
new file mode 100644
index 0000000000..33f72e3903
--- /dev/null
+++ b/nix/utils/default.nix
@@ -0,0 +1,24 @@
+{ depot, lib, ... }:
+
+let
+
+  /* Takes an attribute set and adds a meta.targets
+     attribute to it which contains all direct children
+     of the attribute set which are derivations.
+
+     Type: attrs -> attrs
+  */
+  drvTargets = attrs:
+    attrs // {
+      meta = {
+        targets = builtins.filter
+          (x: lib.isDerivation attrs."${x}")
+          (builtins.attrNames attrs);
+      } // (attrs.meta or {});
+    };
+
+in {
+  inherit
+    drvTargets
+    ;
+}
diff --git a/users/Profpatsch/arglib/default.nix b/users/Profpatsch/arglib/netencode.nix
index b263654ac3..6b568ab80d 100644
--- a/users/Profpatsch/arglib/default.nix
+++ b/users/Profpatsch/arglib/netencode.nix
@@ -37,8 +37,4 @@ let
     '';
   };
 
-in {
-   inherit
-    netencode
-    ;
-}
+in depot.nix.utils.drvTargets netencode
diff --git a/users/Profpatsch/execline/default.nix b/users/Profpatsch/execline/default.nix
index 852fcfcfa0..c852b82a86 100644
--- a/users/Profpatsch/execline/default.nix
+++ b/users/Profpatsch/execline/default.nix
@@ -5,7 +5,7 @@ let
     name = "exec-helpers";
   } (builtins.readFile ./exec_helpers.rs);
 
-in {
+in depot.nix.utils.drvTargets {
   inherit
     exec-helpers
     ;
diff --git a/users/Profpatsch/netencode/default.nix b/users/Profpatsch/netencode/default.nix
index 294e3b4395..dabf640d51 100644
--- a/users/Profpatsch/netencode/default.nix
+++ b/users/Profpatsch/netencode/default.nix
@@ -125,7 +125,7 @@ let
     }
   '';
 
-in {
+in depot.nix.utils.drvTargets {
   inherit
    netencode-rs
    netencode-mustache
diff --git a/users/Profpatsch/netstring/default.nix b/users/Profpatsch/netstring/default.nix
index 3cf882d5a2..a1d6a1e77f 100644
--- a/users/Profpatsch/netstring/default.nix
+++ b/users/Profpatsch/netstring/default.nix
@@ -52,25 +52,11 @@ let
     }
   '';
 
-  tests = import ./tests.nix {
-    inherit
-      depot
-      pkgs
-      lib
-      python-netstring
-      rust-netstring
-      toNetstring
-      toNetstringKeyVal
-      ;
-  };
-
-in {
+in depot.nix.utils.drvTargets {
   inherit
     toNetstring
     toNetstringKeyVal
     python-netstring
     rust-netstring
-    tests
       ;
-
 }
diff --git a/users/Profpatsch/netstring/tests.nix b/users/Profpatsch/netstring/tests/default.nix
index 23141472d6..a9e6c9c688 100644
--- a/users/Profpatsch/netstring/tests.nix
+++ b/users/Profpatsch/netstring/tests/default.nix
@@ -1,7 +1,14 @@
-{ depot, lib, pkgs, python-netstring, rust-netstring, toNetstring, toNetstringKeyVal }:
+{ depot, lib, pkgs, ... }:
 
 let
 
+  inherit (depot.users.Profpatsch.netstring)
+    toNetstring
+    toNetstringKeyVal
+    python-netstring
+    rust-netstring
+    ;
+
   python-netstring-test = depot.users.Profpatsch.writers.python3 {
     name = "python-netstring-test";
     libraries = p: [
@@ -53,7 +60,7 @@ let
     }
   '';
 
-in {
+in depot.nix.utils.drvTargets {
   inherit
     python-netstring-test
     rust-netstring-test
diff --git a/users/Profpatsch/nixpkgs-rewriter/default.nix b/users/Profpatsch/nixpkgs-rewriter/default.nix
index 286530b03f..ff414862fa 100644
--- a/users/Profpatsch/nixpkgs-rewriter/default.nix
+++ b/users/Profpatsch/nixpkgs-rewriter/default.nix
@@ -102,7 +102,7 @@ let
     "nix-instantiate" "$1" "-A" "{}"
   ];
 
-in {
+in depot.nix.utils.drvTargets {
   inherit
    instantiate-nixpkgs-randomly
   # requires hnix, which we don’t want in tvl for now
diff --git a/users/Profpatsch/tree-sitter.nix b/users/Profpatsch/tree-sitter.nix
index 099fa2d5b7..8fc2a847c6 100644
--- a/users/Profpatsch/tree-sitter.nix
+++ b/users/Profpatsch/tree-sitter.nix
@@ -169,7 +169,7 @@ let
         '';
       };
 
-in {
+in depot.nix.utils.drvTargets {
   inherit
     print-ast
     tree-sitter-nix
diff --git a/users/Profpatsch/writers/default.nix b/users/Profpatsch/writers/default.nix
index 3888579a64..a71bed38ed 100644
--- a/users/Profpatsch/writers/default.nix
+++ b/users/Profpatsch/writers/default.nix
@@ -138,19 +138,6 @@ let
       ];
     in drvSeqL [ tests ] (crate false);
 
-
-  tests = import ./tests.nix {
-    inherit
-      depot
-      pkgs
-      python3
-      python3Lib
-      rustSimpleLib
-      rustSimple
-      testRustSimple
-      ;
-   };
-
 in {
   inherit
     python3
@@ -159,6 +146,5 @@ in {
     rustSimpleBin
     rustSimpleLib
     testRustSimple
-    tests
     ;
 }
diff --git a/users/Profpatsch/writers/tests.nix b/users/Profpatsch/writers/tests/default.nix
index 680c37a2ec..a16f5fa1f9 100644
--- a/users/Profpatsch/writers/tests.nix
+++ b/users/Profpatsch/writers/tests/default.nix
@@ -1,10 +1,23 @@
-{ depot, pkgs, python3, python3Lib, rustSimpleLib, rustSimple, testRustSimple }:
+{ depot, ... }:
 
 let
+  inherit (depot.users.Profpatsch.writers)
+    python3Lib
+    python3
+    testRustSimple
+    rustSimple
+    rustSimpleLib
+    rustSimpleBin
+    ;
+
+  inherit (depot.third_party)
+    coreutils
+    ;
+
   run = drv: depot.nix.runExecline.local "run-${drv.name}" {} [
     "if" [ drv ]
     "importas" "out" "out"
-    "${pkgs.coreutils}/bin/touch" "$out"
+    "${coreutils}/bin/touch" "$out"
   ];
 
   pythonTransitiveLib = python3Lib {
@@ -76,7 +89,7 @@ let
   '');
 
 
-in {
+in depot.nix.utils.drvTargets {
   inherit
     pythonWithLib
     rustTransitiveLib