summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hoang <enzime@users.noreply.github.com>2024-11-08 16:38:31 +1100
committerMichael Hoang <enzime@users.noreply.github.com>2024-11-09 19:46:07 +1100
commit2ff55ab1c5c238181c3b6f1bd78156e7d77812bb (patch)
treee3d00686cd3b0311906c2f65aa5c261ef9a83e70
parenta82d72d25f67dff02afbd6fb72cd16e2ec040a68 (diff)
manual: get revision information when called from flake
-rw-r--r--flake.nix2
-rw-r--r--release.nix11
2 files changed, 13 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
index fb5545b..2c1ae1b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -7,6 +7,8 @@
jobs = forAllSystems (system: import ./release.nix {
inherit nixpkgs system;
+
+ nix-darwin = self;
});
in {
lib = {
diff --git a/release.nix b/release.nix
index 18fb239..b3e2df7 100644
--- a/release.nix
+++ b/release.nix
@@ -1,4 +1,6 @@
{ nixpkgs ? <nixpkgs>
+# Adapted from https://github.com/NixOS/nixpkgs/blob/e818264fe227ad8861e0598166cf1417297fdf54/pkgs/top-level/release.nix#L11
+, nix-darwin ? { }
, system ? builtins.currentSystem
, supportedSystems ? [ "x86_64-darwin" "aarch64-darwin" ]
, scrubJobs ? true
@@ -56,6 +58,15 @@ let
manual = buildFromConfig ({ lib, config, ... }: {
system.stateVersion = lib.mkDefault config.system.maxStateVersion;
+
+ system.darwinVersionSuffix = let
+ shortRev = nix-darwin.shortRev or nix-darwin.dirtyShortRev or null;
+ in
+ lib.mkIf (shortRev != null) ".${shortRev}";
+ system.darwinRevision = let
+ rev = nix-darwin.rev or nix-darwin.dirtyRev or null;
+ in
+ lib.mkIf (rev != null) rev;
}) (config: config.system.build.manual);
in {