diff --git a/export/nixosConfigurations.nix b/export/nixosConfigurations.nix index eb8c570..21e8a45 100644 --- a/export/nixosConfigurations.nix +++ b/export/nixosConfigurations.nix @@ -10,6 +10,23 @@ { ... }@inputs: { host, ... }@imports: let + pre-switch-check = + { pkgs, lib, config, ... }: + { + config.system.preSwitchChecks.nvd = '' + 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 ]] + ''; + }; + system = hostname: { @@ -28,6 +45,7 @@ let ++ map (class: { imports = map (input: input.${namespace}.${class} or { }) (builtins.attrValues inputs); }) classes + ++ [ pre-switch-check ] ++ [ { config.networking.hostName = hostname; } ] ++ [ nixosModules.default ] ++ inputs.${nixpkgs}.lib.optional (inputs ? home-manager) {