gr-base/nix/discoverScrolls.nix
2025-08-03 14:20:58 +07:00

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