21 lines
446 B
Nix
21 lines
446 B
Nix
final: _: let
|
|
inherit (final) lib;
|
|
linkToPath = path: fileOrDir: (
|
|
if final.lib.types.path.check fileOrDir
|
|
then [
|
|
{
|
|
name = lib.concatStringsSep "/" path;
|
|
path = fileOrDir;
|
|
}
|
|
]
|
|
else
|
|
lib.concatLists (
|
|
lib.mapAttrsToList
|
|
(dirName: linkToPath (path ++ [dirName]))
|
|
fileOrDir
|
|
)
|
|
);
|
|
in {
|
|
recursiveLinkFarm = name: files: final.linkFarm name (linkToPath [] files);
|
|
}
|