diff options
Diffstat (limited to 'lib/default.nix')
-rw-r--r-- | lib/default.nix | 24 |
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; } |