Merge pull request #101096 from fzakaria/faridzakaria/readTree

lib: Add listFilesRecursive function to filesystem

Changed files
+12
lib
+12
lib/filesystem.nix
···
type = (builtins.readDir parent).${base} or null;
in file == /. || type == "directory";
in go (if isDir then file else parent);
}
···
type = (builtins.readDir parent).${base} or null;
in file == /. || type == "directory";
in go (if isDir then file else parent);
+
+
+
# listFilesRecursive: Path -> [ Path ]
+
#
+
# Given a directory, return a flattened list of all files within it recursively.
+
listFilesRecursive = dir: lib.flatten (lib.mapAttrsToList (name: type:
+
if type == "directory" then
+
lib.filesystem.listFilesRecursive (dir + "/${name}")
+
else
+
dir + "/${name}"
+
) (builtins.readDir dir));
+
}