aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2026-10-15 07:31:36 +0200
committerMartin Fischer <martin@push-f.com>2026-10-31 08:43:08 +0100
commit4767c534f82a1c19bc6d7d71aa09b88c9d6c6aae (patch)
treed0ddc1c10789b4e95466c899c891ccda08988089
parentb7f3f597a799cf930857d9c3c212ed9d67dedbc2 (diff)
feat(common): set system.configurationRevision
-rw-r--r--nixos/profiles/common/default.nix6
-rwxr-xr-xnixos/rebuild7
2 files changed, 13 insertions, 0 deletions
diff --git a/nixos/profiles/common/default.nix b/nixos/profiles/common/default.nix
index d891879..d94db86 100644
--- a/nixos/profiles/common/default.nix
+++ b/nixos/profiles/common/default.nix
@@ -6,4 +6,10 @@
./basics.nix
"${sources.agenix}/modules/age.nix"
];
+
+ system.configurationRevision =
+ let
+ revision = builtins.getEnv "NIXOS_CONFIG_REVISION";
+ in
+ if revision == "" then null else revision;
}
diff --git a/nixos/rebuild b/nixos/rebuild
index 395f78d..3589dc4 100755
--- a/nixos/rebuild
+++ b/nixos/rebuild
@@ -9,6 +9,13 @@ if [ ! -d "$hostDir" ]; then
exit 1
fi
+# Make the configuration repository's commit available to the NixOS module.
+export NIXOS_CONFIG_REVISION
+NIXOS_CONFIG_REVISION=$(git -C "$top" rev-parse --verify HEAD)
+if [[ -n $(git -C "$top" status --porcelain) ]]; then
+ NIXOS_CONFIG_REVISION+="-dirty"
+fi
+
(
# The result symlink created in the current directory is registered as a root of the Nix
# garbage collector, so it's important that we call nixos-rebuild from the host directory.