about summary refs log tree commit diff
path: root/pkgs/build-support/build-fhs-userenv/default.nix
diff options
context:
space:
mode:
authorDennis Gosnell <cdep.illabout@gmail.com>2023-03-02 10:07:06 +0900
committerDennis Gosnell <cdep.illabout@gmail.com>2023-03-02 10:07:06 +0900
commit23ee7693587b2aac2b633012290f2bc400fdc8b3 (patch)
treef1b2802eb82d6e9e521dbb5ee88c4cb6579be5c2 /pkgs/build-support/build-fhs-userenv/default.nix
parentde408167ede9c2cab0a7831f4079ff9ba8c644d8 (diff)
buildFHSUserEnv: add version arg
This lets you set the version for the derivation produced from
`buildFHSUserEnvChroot` and `buildFHSUserEnvBubblewrap`.

This can help to make it more clear to end-users to see the versions of
the packages they are using.
Diffstat (limited to 'pkgs/build-support/build-fhs-userenv/default.nix')
-rw-r--r--pkgs/build-support/build-fhs-userenv/default.nix12
1 files changed, 8 insertions, 4 deletions
diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix
index e7db6a75297d1..ab890387e6d2d 100644
--- a/pkgs/build-support/build-fhs-userenv/default.nix
+++ b/pkgs/build-support/build-fhs-userenv/default.nix
@@ -1,11 +1,11 @@
-{ callPackage, runCommandLocal, writeScript, stdenv, coreutils }:
+{ lib, callPackage, runCommandLocal, writeScript, stdenv, coreutils }:
 
 let buildFHSEnv = callPackage ./env.nix { }; in
 
-args@{ name, runScript ? "bash", extraInstallCommands ? "", meta ? {}, passthru ? {}, ... }:
+args@{ name, version ? null, runScript ? "bash", extraInstallCommands ? "", meta ? {}, passthru ? {}, ... }:
 
 let
-  env = buildFHSEnv (removeAttrs args [ "runScript" "extraInstallCommands" "meta" "passthru" ]);
+  env = buildFHSEnv (removeAttrs args [ "version" "runScript" "extraInstallCommands" "meta" "passthru" ]);
 
   chrootenv = callPackage ./chrootenv {};
 
@@ -23,7 +23,11 @@ let
     exec ${run} "$@"
   '';
 
-in runCommandLocal name {
+  versionStr = lib.optionalString (! isNull version) ("-" + version);
+
+  nameAndVersion = name + versionStr;
+
+in runCommandLocal nameAndVersion {
   inherit meta;
 
   passthru = passthru // {