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-26 16:48:55 +0100
commitcab8b257fda2e283101a67492a887aeea2444a5e (patch)
tree88ba7731ffac140e7e68096af347a833ef425f10
parent8919843157fd262a42fb4bd6311599b0c65a1765 (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.