diff --git a/export/nixosConfigurations.nix b/export/nixosConfigurations.nix index 9c52a84..21e8a45 100644 --- a/export/nixosConfigurations.nix +++ b/export/nixosConfigurations.nix @@ -14,12 +14,14 @@ let { pkgs, lib, config, ... }: { config.system.preSwitchChecks.nvd = '' - ${lib.getExe pkgs.nvd} --nix-bin-dir ${config.nix.package}/bin diff /run/current-system "''${1}" - if [[ -t 0 ]]; then - printf 'really %s to %s? [y]es/[N]o ' "''${2}" "''${1}" - read -r nvd_check - else - nvd_check=y + nvd_check=y + if [[ -d /run/current-system ]] + then + ${lib.getExe pkgs.nvd} --nix-bin-dir ${config.nix.package}/bin diff /run/current-system "''${1}" + if [[ -t 0 ]]; then + printf 'really %s to %s? [y]es/[N]o ' "''${2}" "''${1}" + read -r nvd_check + fi fi [[ "''${nvd_check}" == y ]] ''; @@ -30,6 +32,7 @@ let { namespace ? "fbs42", nixpkgs ? "nixpkgs", + classes ? [ hostname ], }: inputs.${nixpkgs}.lib.nixosSystem { specialArgs = { inherit inputs flake namespace; }; @@ -39,6 +42,9 @@ let base: builtins.attrValues (flake.lib.scan { base = "${base}/host/${hostname}"; }) ) flake.lib.schema.base ) + ++ map (class: { + imports = map (input: input.${namespace}.${class} or { }) (builtins.attrValues inputs); + }) classes ++ [ pre-switch-check ] ++ [ { config.networking.hostName = hostname; } ] ++ [ nixosModules.default ]