BuildClan: autoimport facter.json

This commit is contained in:
Johannes Kirschbauer
2024-08-23 18:02:21 +02:00
parent 0295114c17
commit fd2dd2b565
3 changed files with 327 additions and 4 deletions

View File

@@ -64,14 +64,30 @@ let
modules =
let
settings = machineSettings name;
facterJson = "${directory}/machines/${name}/facter.json";
hwConfig = "${directory}/machines/${name}/hardware-configuration.nix";
facterModules = lib.optionals (builtins.pathExists facterJson) [
clan-core.inputs.nixos-facter-modules.nixosModules.facter
{ config.facter.reportPath = facterJson; }
];
in
(machineImports settings)
++ facterModules
++ [
{
# Autoinclude configuration.nix and hardware-configuration.nix
imports = builtins.filter builtins.pathExists [
"${directory}/machines/${name}/configuration.nix"
"${directory}/machines/${name}/hardware-configuration.nix"
hwConfig
];
config.warnings = lib.optionals (builtins.all builtins.pathExists [hwConfig facterJson]) [
''
Duplicate hardware facts: '${hwConfig}' and '${facterJson}' exist.
Using both is not recommended.
It is recommended to use the hardware facts from '${facterJson}', please remove '${hwConfig}'.
''
];
}
settings