diff --git a/content/default.nix b/content/default.nix index fd14018..8cc4daa 100644 --- a/content/default.nix +++ b/content/default.nix @@ -3,7 +3,7 @@ let inherit (config) pages; in { - imports = with lib.fileset; toList (difference (fileFilter ({ hasExt, ... }: hasExt "nix") ./.) ./default.nix); + imports = lib.nixFiles ./.; collections.news.type = config.content-types.article; diff --git a/lib.nix b/lib.nix index 4423cbf..cedef3c 100644 --- a/lib.nix +++ b/lib.nix @@ -65,6 +65,17 @@ rec { in join "/" relativeComponents; + /** + Recursively list all Nix files from a directory, except the top-level `default.nix` + + Useful for module system `imports` from a top-level module. + **/ + nixFiles = dir: with lib.fileset; + toList (difference + (fileFilter ({ hasExt, ... }: hasExt "nix") dir) + (dir + "/default.nix") + ); + types = rec { collection = elemType: let