From 83f6485abca0efd549c1cd76918d8a0fbfc25c47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 29 Sep 2024 17:25:54 +0200 Subject: [PATCH] move nixos-facter imports to clanCore --- lib/build-clan/module.nix | 24 +----------------------- nixosModules/clanCore/default.nix | 1 + nixosModules/clanCore/nixos-facter.nix | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 nixosModules/clanCore/nixos-facter.nix diff --git a/lib/build-clan/module.nix b/lib/build-clan/module.nix index 0e63e27b5..06742af4e 100644 --- a/lib/build-clan/module.nix +++ b/lib/build-clan/module.nix @@ -63,37 +63,15 @@ let nixpkgs.lib.nixosSystem { modules = let - settings = machineSettings name; - facterJson = "${directory}/machines/${name}/facter.json"; hwConfig = "${directory}/machines/${name}/hardware-configuration.nix"; - - facterModules = lib.optionals (builtins.pathExists facterJson) [ - { 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" 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 clan-core.nixosModules.clanCore diff --git a/nixosModules/clanCore/default.nix b/nixosModules/clanCore/default.nix index e7ebe87a9..5c8546122 100644 --- a/nixosModules/clanCore/default.nix +++ b/nixosModules/clanCore/default.nix @@ -9,6 +9,7 @@ ./meta/interface.nix ./metadata.nix ./networking.nix + ./nixos-facter.nix ./nix-settings.nix ./options.nix ./outputs.nix diff --git a/nixosModules/clanCore/nixos-facter.nix b/nixosModules/clanCore/nixos-facter.nix new file mode 100644 index 000000000..dbbb852c6 --- /dev/null +++ b/nixosModules/clanCore/nixos-facter.nix @@ -0,0 +1,24 @@ +{ lib, config, ... }: +let + directory = config.clan.core.clanDir; + inherit (config.clan.core) machineName; + facterJson = "${directory}/machines/${machineName}/facter.json"; + hwConfig = "${directory}/machines/${machineName}/hardware-configuration.nix"; +in +{ + facter.reportPath = lib.mkIf (builtins.pathExists facterJson) facterJson; + 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}'. + '' + ]; +}