nixosConfiguration: preSwitchCkeck: nvd #10

Merged
horscchtey merged 1 commit from nonapode/switch-check-nvd into main 2025-11-26 20:01:50 +01:00

View file

@ -10,6 +10,23 @@
{ ... }@inputs: { ... }@inputs:
{ host, ... }@imports: { host, ... }@imports:
let 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 = system =
hostname: hostname:
{ {
@ -28,6 +45,7 @@ let
++ map (class: { ++ map (class: {
imports = map (input: input.${namespace}.${class} or { }) (builtins.attrValues inputs); imports = map (input: input.${namespace}.${class} or { }) (builtins.attrValues inputs);
}) classes }) classes
++ [ pre-switch-check ]
++ [ { config.networking.hostName = hostname; } ] ++ [ { config.networking.hostName = hostname; } ]
++ [ nixosModules.default ] ++ [ nixosModules.default ]
++ inputs.${nixpkgs}.lib.optional (inputs ? home-manager) { ++ inputs.${nixpkgs}.lib.optional (inputs ? home-manager) {