From 16c333cfde3efbc6620bedc6e316c6549c782061 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 3 Jan 2025 13:45:07 +1000 Subject: [PATCH] modules/nixos/common: use preSwitchChecks for update diff --- modules/nixos/common/default.nix | 9 +++++++++ modules/nixos/common/update.bash | 5 ----- modules/nixos/common/update.nix | 1 - 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/nixos/common/default.nix b/modules/nixos/common/default.nix index 45b27f4..54c99c8 100644 --- a/modules/nixos/common/default.nix +++ b/modules/nixos/common/default.nix @@ -18,6 +18,15 @@ inputs.srvos.nixosModules.server ]; + srvos.update-diff.enable = false; + system.preSwitchChecks.update-diff = '' + if [[ -e /run/current-system && -e "''${1-}" ]]; then + echo "--- diff to current-system" + ${pkgs.nvd}/bin/nvd --nix-bin-dir=${config.nix.package}/bin diff /run/current-system "''${1-}" + echo "---" + fi + ''; + # Hard-link duplicated files nix.settings.auto-optimise-store = true; nix.optimise.automatic = false; diff --git a/modules/nixos/common/update.bash b/modules/nixos/common/update.bash index 817166c..3ce6a88 100644 --- a/modules/nixos/common/update.bash +++ b/modules/nixos/common/update.bash @@ -20,11 +20,6 @@ nix-env --profile /nix/var/nix/profiles/system --set "$p" booted="$(readlink /run/booted-system/{initrd,kernel,kernel-modules} && cat /run/booted-system/kernel-params)" built="$(readlink "$p"/{initrd,kernel,kernel-modules} && cat "$p"/kernel-params)" if [[ $booted != "$built" ]]; then - if [[ -e /run/current-system ]]; then - echo "--- diff to current-system" - nvd diff /run/current-system "$p" - echo "---" - fi /nix/var/nix/profiles/system/bin/switch-to-configuration boot # don't use kexec if system is virtualized, reboots are fast enough if ! systemd-detect-virt -q; then diff --git a/modules/nixos/common/update.nix b/modules/nixos/common/update.nix index d8e30fd..94f1fcb 100644 --- a/modules/nixos/common/update.nix +++ b/modules/nixos/common/update.nix @@ -16,7 +16,6 @@ pkgs.coreutils pkgs.curl pkgs.kexec-tools - pkgs.nvd ]; script = builtins.readFile ./update.bash; };