diff --git a/.editorconfig b/.editorconfig
index f5df33889e6..7b40ff1ff56 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -26,7 +26,3 @@ indent_size = 4
# Match diffs, avoid to trim trailing whitespace
[*.{diff,patch}]
trim_trailing_whitespace = false
-
-# https://github.com/NixOS/nixpkgs/pull/39336#discussion_r183387754
-[.version]
-insert_final_newline = false
diff --git a/.version b/.version
index c1b80a50279..770bde1f44b 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-18.09
\ No newline at end of file
+18.09
diff --git a/doc/Makefile b/doc/Makefile
index 0ddae8631f3..952ef4bfcbb 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -64,7 +64,7 @@ manual-full.xml: ${MD_TARGETS} .version *.xml
.version:
nix-instantiate --eval \
- -E '(import ../lib).nixpkgsVersion' > .version
+ -E '(import ../lib).version' > .version
%.section.xml: %.section.md
pandoc $^ -w docbook+smart \
diff --git a/doc/default.nix b/doc/default.nix
index 8abde58bb11..e5be364506f 100644
--- a/doc/default.nix
+++ b/doc/default.nix
@@ -30,7 +30,7 @@ pkgs.stdenv.mkDerivation {
];
postPatch = ''
- echo ${lib.nixpkgsVersion} > .version
+ echo ${lib.version} > .version
'';
installPhase = ''
diff --git a/lib/default.nix b/lib/default.nix
index b3c4fdc0e59..60ce01a93cd 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -58,7 +58,7 @@ let
replaceStrings seq stringLength sub substring tail;
inherit (trivial) id const concat or and boolToString mergeAttrs
flip mapNullable inNixShell min max importJSON warn info
- nixpkgsVersion mod compare splitByAndCompare
+ nixpkgsVersion version mod compare splitByAndCompare
functionArgs setFunctionArgs isFunction;
inherit (fixedPoints) fix fix' extends composeExtensions
diff --git a/lib/trivial.nix b/lib/trivial.nix
index a928e1dbca9..251cb796db0 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -58,11 +58,14 @@ rec {
inherit (lib.strings) fileContents;
+ release = fileContents ../.version;
+ versionSuffix = let suffixFile = ../.version-suffix; in
+ if pathExists suffixFile then fileContents suffixFile else "pre-git";
+
# Return the Nixpkgs version number.
- nixpkgsVersion =
- let suffixFile = ../.version-suffix; in
- fileContents ../.version
- + (if pathExists suffixFile then fileContents suffixFile else "pre-git");
+ version = release + versionSuffix;
+
+ nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version;
# Whether we're being called by nix-shell.
inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index 62f1b769463..ce06a23beba 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -132,6 +132,11 @@ following incompatible changes:
lib.traceCallXml has been deprecated. Please complain
if you use the function regularly.
+
+ The attribute lib.nixpkgsVersion has been deprecated in favor of
+ lib.version. Please refer to the discussion in
+ NixOS/nixpkgs#39416 for further reference.
+
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index 347e6b9c6e0..9461144fad5 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -6,7 +6,7 @@
set -e
set -o pipefail
-version=$(nix-instantiate --eval --strict '' -A lib.nixpkgsVersion | sed s/'"'//g)
+version=$(nix-instantiate --eval --strict '' -A lib.version | sed s/'"'//g)
major=${version:0:5}
echo "NixOS version is $version ($major)"
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index b8f0a223c91..74c86443ab9 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -5,8 +5,6 @@ with lib;
let
cfg = config.system.nixos;
- 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);
@@ -25,14 +23,14 @@ in
nixos.release = mkOption {
readOnly = true;
type = types.str;
- default = fileContents releaseFile;
+ default = trivial.release;
description = "The NixOS release (e.g. 16.03).";
};
nixos.versionSuffix = mkOption {
internal = true;
type = types.str;
- default = if pathExists suffixFile then fileContents suffixFile else "pre-git";
+ default = trivial.versionSuffix;
description = "The NixOS version suffix (e.g. 1160.f2d4ee1).";
};
diff --git a/pkgs/tools/system/osquery/default.nix b/pkgs/tools/system/osquery/default.nix
index 2a719efd79b..a0aaa846bc7 100644
--- a/pkgs/tools/system/osquery/default.nix
+++ b/pkgs/tools/system/osquery/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
# this is what `osquery --help` will show as the version.
OSQUERY_BUILD_VERSION = version;
- OSQUERY_PLATFORM = "nixos;${builtins.readFile "${toString path}/.version"}";
+ OSQUERY_PLATFORM = "nixos;${stdenv.lib.version}";
src = fetchFromGitHub {
owner = "facebook";