Files
matej.nix/lib/autoDir.nix

16 lines
388 B
Nix

lib:
# import all .nix files in dir as attribute set
dir:
let
readDir = builtins.readDir dir;
files = lib.attrNames (
lib.filterAttrs (
name: type: type == "regular" && lib.hasSuffix ".nix" name && name != "default.nix"
) readDir
);
packages = builtins.map (name: lib.removeSuffix ".nix" name) files;
in
lib.genAttrs packages (name: import (dir + "/${name}.nix"))