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>
This commit is contained in:
parent
78f5ed053a
commit
ede5720a0d
4 changed files with 23 additions and 20 deletions
|
@ -9,7 +9,7 @@
|
||||||
nixpkgs = self;
|
nixpkgs = self;
|
||||||
};
|
};
|
||||||
|
|
||||||
libVersionInfoOverlay = import ./lib/__flake-version-info.nix self;
|
libVersionInfoOverlay = import ./lib/flake-version-info.nix self;
|
||||||
lib = (import ./lib).extend libVersionInfoOverlay;
|
lib = (import ./lib).extend libVersionInfoOverlay;
|
||||||
|
|
||||||
forAllSystems = lib.genAttrs lib.systems.flakeExposed;
|
forAllSystems = lib.genAttrs lib.systems.flakeExposed;
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
20
lib/flake-version-info.nix
Normal file
20
lib/flake-version-info.nix
Normal file
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
outputs = { self }:
|
outputs = { self }:
|
||||||
let
|
let
|
||||||
lib' = import ./.;
|
lib0 = import ./.;
|
||||||
in {
|
in {
|
||||||
lib = lib'.extend (import ./__flake-version-info.nix self);
|
lib = lib0.extend (import ./flake-version-info.nix self);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue