update-scripts/version-info: convert to a script

This will allow us to do impure things if needed.
This commit is contained in:
Matt Sturgeon 2025-05-24 09:32:19 +01:00
parent 80934be3e9
commit a95db128a6
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
3 changed files with 43 additions and 32 deletions

View file

@ -0,0 +1,27 @@
{
lib,
writers,
}:
let
inherit (builtins)
all
match
attrNames
;
inherit (lib)
importJSON
;
lockFile = importJSON ../../flake.lock;
nixpkgsLock =
# Assert there is only one nixpkgs node
assert all (node: match "nixpkgs_[0-9]+" node == null) (attrNames lockFile.nodes);
lockFile.nodes.nixpkgs.original;
info = {
inherit (lib.trivial) release;
nixpkgs_rev = lib.trivial.revisionWithDefault (throw "nixpkgs revision not available");
unstable = lib.strings.hasSuffix "-unstable" nixpkgsLock.ref;
};
in
writers.writeTOML "version-info.toml" info