21 lines
631 B
Nix
21 lines
631 B
Nix
{lib, ...}:
|
|
with lib;
|
|
let
|
|
# get all files in folder
|
|
getDir = dir: builtins.readDir dir;
|
|
|
|
# find all files ending in ".nix" which are not this file, or directories, which may or may not contain a default.nix
|
|
files = dir: filterAttrs
|
|
(file: type: (type == "regular" && hasSuffix ".nix" file && file != "default.nix") || type == "directory")
|
|
(getDir dir);
|
|
# Turn the attrset into a list of the filenames
|
|
flatten = dir: mapAttrsToList (file: type: file) (files dir);
|
|
# Turn the filenames into absolute paths
|
|
makeAbsolute = dir: map (file: ./. + "/${file}") (flatten dir);
|
|
in
|
|
{
|
|
|
|
imports = makeAbsolute ./.;
|
|
|
|
}
|