summary refs log tree commit diff
path: root/nixos/modules/misc
diff options
context:
space:
mode:
authorobadz <obadz-git@obadz.com>2016-05-24 23:34:28 +0100
committerobadz <obadz-git@obadz.com>2016-05-24 23:34:28 +0100
commit47950b53538471c1aff04b00790fadded7eca207 (patch)
treef9a3829ab9eb21f8b5f3922957445a2ed0b72bcb /nixos/modules/misc
parentc726773f26373381331d32ed3521290c288438fc (diff)
downloadnixlib-47950b53538471c1aff04b00790fadded7eca207.tar
nixlib-47950b53538471c1aff04b00790fadded7eca207.tar.gz
nixlib-47950b53538471c1aff04b00790fadded7eca207.tar.bz2
nixlib-47950b53538471c1aff04b00790fadded7eca207.tar.lz
nixlib-47950b53538471c1aff04b00790fadded7eca207.tar.xz
nixlib-47950b53538471c1aff04b00790fadded7eca207.tar.zst
nixlib-47950b53538471c1aff04b00790fadded7eca207.zip
modules/misc/version.nix: populate nixosRevision based on <nixpkgs/.git> when possible (#15624)
Example:

$ nixos-option system.nixosLabel
Value:
"16.09.git.4643ca1"
Diffstat (limited to 'nixos/modules/misc')
-rw-r--r--nixos/modules/misc/version.nix8
1 files changed, 6 insertions, 2 deletions
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index f12ecc1b88ec..fd7cadf76cc1 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -5,9 +5,11 @@ with lib;
 let
   cfg = config.system;
 
-  releaseFile = "${toString pkgs.path}/.version";
-  suffixFile = "${toString pkgs.path}/.version-suffix";
+  releaseFile  = "${toString pkgs.path}/.version";
+  suffixFile   = "${toString pkgs.path}/.version-suffix";
   revisionFile = "${toString pkgs.path}/.git-revision";
+  gitRepo      = "${toString pkgs.path}/.git";
+  gitCommitId  = lib.substring 0 7 (commitIdFromGitRepo gitRepo);
 in
 
 {
@@ -102,6 +104,8 @@ in
       # changing them would not rebuild the manual
       nixosLabel   = mkDefault (maybeEnv "NIXOS_LABEL" cfg.nixosVersion);
       nixosVersion = mkDefault (maybeEnv "NIXOS_VERSION" (cfg.nixosRelease + cfg.nixosVersionSuffix));
+      nixosRevision      = mkIf (pathExists gitRepo) (mkDefault            gitCommitId);
+      nixosVersionSuffix = mkIf (pathExists gitRepo) (mkDefault (".git." + gitCommitId));
 
       # Note: code names must only increase in alphabetical order.
       nixosCodeName = "Flounder";