diff --git a/modules/clan/flake-module.nix b/modules/clan/flake-module.nix new file mode 100644 index 0000000..1cf471b --- /dev/null +++ b/modules/clan/flake-module.nix @@ -0,0 +1,26 @@ +{ + inputs, + ... +}: +{ + imports = + let + # Get all subdirectories in the current directory + dirContents = builtins.readDir ./.; + + # Filter to include only directories that have a flake-module.nix file + # and exclude special directories like 'result' + validModuleDirs = builtins.filter ( + name: + name != "result" + && dirContents.${name} == "directory" + && builtins.pathExists (./. + "/${name}/flake-module.nix") + ) (builtins.attrNames dirContents); + + # Create import paths for each valid directory + imports = (map (name: ./. + "/${name}/flake-module.nix") validModuleDirs) ++ [ + inputs.clan-core.flakeModules.testModule + ]; + in + imports; +}