summary refs log tree commit diff stats
path: root/lib/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/default.nix')
-rw-r--r--lib/default.nix24
1 files changed, 14 insertions, 10 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 023566e5..2cbaf55c 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -6,16 +6,20 @@ in
 rec {
   importPathStore = p: "${append ../. "/${p}"}";
 
-  mkPathable = s:
-    if
-      s.type == "local"
-    then
-      toString (lib.path.append ../. s.outPath)
-    else
-      toString s.outPath
-  ;
+  mkPathable = s: toString (
+    if lib.path.subpath.isValid s
+    then (lib.path.append ../. s)
+    else s
+  );
+
+  kvPath = k: v: "${k}=${v}";
+
+  fromSources = sources:
+    lib.attrsets.mapAttrs
+      (k: v: v.outPath)
+      sources;
 
   mkNixPath = sources: lib.attrsets.mapAttrsToList
-    (k: v: "${k}=${mkPathable v}")
-    (removeAttrs sources [ "__functor" ]);
+    (k: v: kvPath k (mkPathable v))
+    sources;
 }