about summary refs log tree commit diff
path: root/corepkgs/buildenv.nix
diff options
context:
space:
mode:
Diffstat (limited to 'corepkgs/buildenv.nix')
-rw-r--r--corepkgs/buildenv.nix14
1 files changed, 9 insertions, 5 deletions
diff --git a/corepkgs/buildenv.nix b/corepkgs/buildenv.nix
index 50c9923af79f..923778379263 100644
--- a/corepkgs/buildenv.nix
+++ b/corepkgs/buildenv.nix
@@ -2,18 +2,22 @@ with import <nix/config.nix>;
 
 { derivations, manifest }:
 
-derivation { 
+derivation {
   name = "user-environment";
   system = builtins.currentSystem;
   builder = perl;
   args = [ "-w" ./buildenv.pl ];
-  
+
   manifest = manifest;
 
   # !!! grmbl, need structured data for passing this in a clean way.
-  paths = derivations;
-  active = map (x: if x ? meta && x.meta ? active then x.meta.active else "true") derivations;
-  priority = map (x: if x ? meta && x.meta ? priority then x.meta.priority else "5") derivations;
+  derivations =
+    map (d:
+      [ (if d.meta.active or true then "1" else "0")
+        (d.meta.priority or 5)
+        (builtins.length d.outputs)
+      ] ++ map (output: builtins.getAttr output d) d.outputs)
+      derivations;
 
   # Building user environments remotely just causes huge amounts of
   # network traffic, so don't do that.