{ pkgs }:
with builtins;
let
  inherit (pkgs) lib;
in
rec {
  importPathStore = p: "${append ../. "/${p}"}";

  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: kvPath k (mkPathable v))
    sources;
}