clanService framework with test support
This commit is contained in:
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
./machines
|
./machines
|
||||||
./inventories
|
./inventories
|
||||||
|
./modules/clan/flake-module.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
28
modules/clan/flake-module.nix
Normal file
28
modules/clan/flake-module.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{ inputs, lib, ... }:
|
||||||
|
{
|
||||||
|
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) ++ [
|
||||||
|
(import (inputs.clan-core + "/lib/flake-parts/clan-nixos-test.nix") {
|
||||||
|
inherit lib;
|
||||||
|
flake-parts-lib = inputs.flake-parts.lib;
|
||||||
|
self = inputs.clan-core;
|
||||||
|
inputs = inputs.clan-core.clan.self.inputs;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
in
|
||||||
|
imports;
|
||||||
|
}
|
Reference in New Issue
Block a user