extract importing Nix files

This commit is contained in:
Valentin Gagarin 2024-11-13 15:24:41 +01:00 committed by Valentin Gagarin
parent 6c84b9dae0
commit 04fef22dc3
2 changed files with 12 additions and 1 deletions

View file

@ -3,7 +3,7 @@ let
inherit (config) pages; inherit (config) pages;
in in
{ {
imports = with lib.fileset; toList (difference (fileFilter ({ hasExt, ... }: hasExt "nix") ./.) ./default.nix); imports = lib.nixFiles ./.;
collections.news.type = config.content-types.article; collections.news.type = config.content-types.article;

View file

@ -65,6 +65,17 @@ rec {
in in
join "/" relativeComponents; 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 { types = rec {
collection = elemType: collection = elemType:
let let