extract importing Nix files

This commit is contained in:
Valentin Gagarin 2024-10-16 00:18:30 +02:00
parent 6efd5059a5
commit 79c502671c
2 changed files with 12 additions and 1 deletions

View file

@ -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;

11
lib.nix
View file

@ -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