diff --git a/export/nixosConfigurations.nix b/export/nixosConfigurations.nix index f8dba98..9c52a84 100644 --- a/export/nixosConfigurations.nix +++ b/export/nixosConfigurations.nix @@ -10,6 +10,21 @@ { ... }@inputs: { host, ... }@imports: let + pre-switch-check = + { 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 + fi + [[ "''${nvd_check}" == y ]] + ''; + }; + system = hostname: { @@ -24,6 +39,7 @@ let base: builtins.attrValues (flake.lib.scan { base = "${base}/host/${hostname}"; }) ) flake.lib.schema.base ) + ++ [ pre-switch-check ] ++ [ { config.networking.hostName = hostname; } ] ++ [ nixosModules.default ] ++ inputs.${nixpkgs}.lib.optional (inputs ? home-manager) {