From 168679c97927af4b38bbaa1856732f8ff30b66a4 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sat, 5 Oct 2024 20:30:36 +1000 Subject: [PATCH] add shared update-diff (#539) --- darwin/common/default.nix | 1 + darwin/common/update-diff.nix | 12 ++++++++++++ nixos/common/default.nix | 2 +- nixos/common/update-diff.nix | 13 +++++++++++++ .../common/update-diff.nix | 10 ++++++---- 5 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 darwin/common/update-diff.nix create mode 100644 nixos/common/update-diff.nix rename nixos/common/upgrade-diff.nix => shared/common/update-diff.nix (79%) diff --git a/darwin/common/default.nix b/darwin/common/default.nix index c4a59d74..8489b465 100644 --- a/darwin/common/default.nix +++ b/darwin/common/default.nix @@ -4,6 +4,7 @@ ./flake.nix ./nix.nix ./openssh.nix + ./update-diff.nix ]; # It's the default login shell, and if not enabled, a lot of important configuration is not applied correctly diff --git a/darwin/common/update-diff.nix b/darwin/common/update-diff.nix new file mode 100644 index 00000000..9c74b913 --- /dev/null +++ b/darwin/common/update-diff.nix @@ -0,0 +1,12 @@ +{ config, lib, ... }: +{ + imports = [ + ../../shared/common/update-diff.nix + ]; + + config = lib.mkIf config.srvos.update-diff.enable { + system.activationScripts.preActivation = { + inherit (config.srvos.update-diff) text; + }; + }; +} diff --git a/nixos/common/default.nix b/nixos/common/default.nix index f5454c08..10214b84 100644 --- a/nixos/common/default.nix +++ b/nixos/common/default.nix @@ -10,7 +10,7 @@ ./openssh.nix ./serial.nix ./sudo.nix - ./upgrade-diff.nix + ./update-diff.nix ./well-known-hosts.nix ./zfs.nix ]; diff --git a/nixos/common/update-diff.nix b/nixos/common/update-diff.nix new file mode 100644 index 00000000..acb0a755 --- /dev/null +++ b/nixos/common/update-diff.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: +{ + imports = [ + ../../shared/common/update-diff.nix + ]; + + config = lib.mkIf config.srvos.update-diff.enable { + system.activationScripts.update-diff = { + supportsDryActivation = true; + inherit (config.srvos.update-diff) text; + }; + }; +} diff --git a/nixos/common/upgrade-diff.nix b/shared/common/update-diff.nix similarity index 79% rename from nixos/common/upgrade-diff.nix rename to shared/common/update-diff.nix index 343aa25a..10acc62a 100644 --- a/nixos/common/upgrade-diff.nix +++ b/shared/common/update-diff.nix @@ -7,13 +7,15 @@ }: { options.srvos.update-diff = { - enable = lib.mkEnableOption "show package diff when updating nixos" // { + enable = lib.mkEnableOption "show package diff when updating" // { default = true; }; + text = lib.mkOption { + type = lib.types.str; + }; }; - config = lib.mkIf config.srvos.update-diff.enable { - system.activationScripts.update-diff = { - supportsDryActivation = true; + config = { + srvos.update-diff = { text = '' if [[ -e /run/current-system ]]; then echo "--- diff to current-system"