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 ./.;
|
||
|
|
||
|
}
|