From c76bc2cbadd00bc596cf62fddd9b067bfb09d377 Mon Sep 17 00:00:00 2001 From: valentin gagarin Date: Wed, 13 Nov 2024 15:24:41 +0100 Subject: [PATCH] extract importing Nix files --- content/default.nix | 2 +- lib.nix | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/content/default.nix b/content/default.nix index fd140183..8cc4daa9 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 4423cbf2..cedef3c9 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