diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2023-10-31 13:38:29 +0100 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2023-12-10 13:25:24 +0100 |
commit | ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b (patch) | |
tree | dae8fd19873bb26c4eb823b094c470fe2fa36712 | |
parent | 78f5ed053aba713ea2fc1226ec8193d298c221fc (diff) |
flake/version overlay: review fixes
* Improves the comments of `lib/flake-version-info.nix` and drops the `__`-prefix from the filename. * `lib'` -> `lib0` in `nixpkgs/lib`. * Drop the declaration of `trivial.version` in the overlay because this declaration already uses the final expressions of `versionSuffix` and `release` now. * No need to fall back to `self.lastModified` anymore, this was a workaround for pre2.4 Nix. Co-authored-by: Robert Hensing <robert@roberthensing.nl> Co-authored-by: Silvan Mosberger <contact@infinisil.com>
-rw-r--r-- | flake.nix | 2 | ||||
-rw-r--r-- | lib/__flake-version-info.nix | 17 | ||||
-rw-r--r-- | lib/flake-version-info.nix | 20 | ||||
-rw-r--r-- | lib/flake.nix | 4 |
4 files changed, 23 insertions, 20 deletions
diff --git a/flake.nix b/flake.nix index 23c9f09a174b6..307eea0cd0403 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,7 @@ nixpkgs = self; }; - libVersionInfoOverlay = import ./lib/__flake-version-info.nix self; + libVersionInfoOverlay = import ./lib/flake-version-info.nix self; lib = (import ./lib).extend libVersionInfoOverlay; forAllSystems = lib.genAttrs lib.systems.flakeExposed; diff --git a/lib/__flake-version-info.nix b/lib/__flake-version-info.nix deleted file mode 100644 index 19ce4c351cf19..0000000000000 --- a/lib/__flake-version-info.nix +++ /dev/null @@ -1,17 +0,0 @@ -# lib overlay to be used by the nixpkgs & nixpkgs/lib flakes -# to provide meaningful values for `lib.trivial.version` et al.. -# -# Internal and subject to change, don't use this anywhere else! - -self: # from the flake - -finalLib: prevLib: # lib overlay - -{ - trivial = prevLib.trivial // { - versionSuffix = - ".${finalLib.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}"; - version = finalLib.trivial.release + finalLib.trivial.versionSuffix; - revisionWithDefault = default: self.rev or default; - }; -} diff --git a/lib/flake-version-info.nix b/lib/flake-version-info.nix new file mode 100644 index 0000000000000..de15be94bee8a --- /dev/null +++ b/lib/flake-version-info.nix @@ -0,0 +1,20 @@ +# This function produces a lib overlay to be used by the nixpkgs +# & nixpkgs/lib flakes to provide meaningful values for +# `lib.trivial.version` et al.. +# +# Internal and subject to change, don't use this anywhere else! +# Instead, consider using a public interface, such as this flake here +# in this directory, `lib/`, or use the nixpkgs flake, which applies +# this logic for you in its `lib` output attribute. + +self: # from the flake + +finalLib: prevLib: # lib overlay + +{ + trivial = prevLib.trivial // { + versionSuffix = + ".${finalLib.substring 0 8 (self.lastModifiedDate or "19700101")}.${self.shortRev or "dirty"}"; + revisionWithDefault = default: self.rev or default; + }; +} diff --git a/lib/flake.nix b/lib/flake.nix index 475aa13edafb8..ca09ed5f4a420 100644 --- a/lib/flake.nix +++ b/lib/flake.nix @@ -3,8 +3,8 @@ outputs = { self }: let - lib' = import ./.; + lib0 = import ./.; in { - lib = lib'.extend (import ./__flake-version-info.nix self); + lib = lib0.extend (import ./flake-version-info.nix self); }; } |