From 627510211cc6147e7a4ebe226e9b85526fe1de3c Mon Sep 17 00:00:00 2001 From: Chris Kruining Date: Thu, 24 Apr 2025 23:20:17 +0200 Subject: [PATCH] handle the special case of default.nix --- lib/modules.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index 9568bb3..ecc5dc9 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -38,9 +38,14 @@ in rec readNixosModules = dir: fn: filterAttrs (name: value: value != null && !(hasPrefix "_" name)) (listToAttrs (flatten (readDirRecursive fn dir ""))); readDirRecursive = fn: root: dir: mapAttrsToList (name: type: - if type == "directory" + if type == "directory" && pathExists "${root}/${dir}/${name}/default.nix" + then [ + (nameValuePair "${replaceStrings ["/"] ["_"] (removePrefix "/" dir)}_${name}" (fn "${root}/${dir}/${name}/default.nix")) + (readDirRecursive fn root "${dir}/${name}") + ] + else if type == "directory" then readDirRecursive fn root "${dir}/${name}" - else if type == "regular" && hasSuffix ".nix" name + else if type == "regular" && name != "default.nix" && hasSuffix ".nix" name then nameValuePair "${replaceStrings ["/"] ["_"] (removePrefix "/" dir)}_${removeSuffix ".nix" name}" (fn "${root}/${dir}/${name}") else nameValuePair "" null ) (readDir "${root}/${dir}");