29 lines
735 B
Nix
29 lines
735 B
Nix
{ self }:
|
|
{ scrollsDir }:
|
|
let
|
|
allSubDirs = builtins.attrNames (
|
|
builtins.readDir scrollsDir
|
|
);
|
|
|
|
directoriesOnly = builtins.filter (name:
|
|
let
|
|
type = (builtins.readDir scrollsDir).${name};
|
|
in type == "directory"
|
|
) allSubDirs;
|
|
|
|
hasScrollNix = dir:
|
|
let
|
|
scrollPath = scrollsDir + "/${dir}/scroll.nix";
|
|
in builtins.pathExists scrollPath;
|
|
|
|
scrollDirs = builtins.filter hasScrollNix directoriesOnly;
|
|
missingScrollDirs = builtins.filter (dir: !(hasScrollNix dir)) directoriesOnly;
|
|
|
|
warnings =
|
|
if builtins.length missingScrollDirs > 0
|
|
then builtins.trace
|
|
"Warning: Found directories without scroll.nix: ${builtins.toString missingScrollDirs}"
|
|
null
|
|
else null;
|
|
in
|
|
scrollDirs
|