userFHSEnv: add passthru, rename meta

This commit is contained in:
Nikolay Amiantov 2016-04-03 04:14:19 +03:00
parent 8c6f5ecf8f
commit 375c410d07
2 changed files with 8 additions and 6 deletions

View File

@ -1,5 +1,5 @@
{ runCommand, lib, writeText, writeScriptBin, stdenv, ruby } : { runCommand, lib, writeText, writeScriptBin, stdenv, ruby } :
{ env, runScript ? "bash", extraBindMounts ? [], extraInstallCommands ? "", importMeta ? {} } : { env, runScript ? "bash", extraBindMounts ? [], extraInstallCommands ? "", meta ? {}, passthru ? {} } :
let let
name = env.pname; name = env.pname;
@ -27,9 +27,9 @@ let
''; '';
in runCommand name { in runCommand name {
meta = importMeta; inherit meta;
passthru.env = passthru = passthru // {
runCommand "${name}-shell-env" { env = runCommand "${name}-shell-env" {
shellHook = '' shellHook = ''
export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS" export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS"
exec ${chroot-user}/bin/chroot-user ${env} bash -l ${init "bash"} "$(pwd)" exec ${chroot-user}/bin/chroot-user ${env} bash -l ${init "bash"} "$(pwd)"
@ -40,6 +40,7 @@ in runCommand name {
echo >&2 "" echo >&2 ""
exit 1 exit 1
''; '';
};
} '' } ''
mkdir -p $out/bin mkdir -p $out/bin
cat <<EOF >$out/bin/${name} cat <<EOF >$out/bin/${name}

View File

@ -134,11 +134,12 @@ in
}; };
buildFHSUserEnv = args: userFHSEnv { buildFHSUserEnv = args: userFHSEnv {
env = buildFHSEnv (removeAttrs args [ "runScript" "extraBindMounts" "extraInstallCommands" "meta" ]); env = buildFHSEnv (removeAttrs args [ "runScript" "extraBindMounts" "extraInstallCommands" "meta" "passthru" ]);
runScript = args.runScript or "bash"; runScript = args.runScript or "bash";
extraBindMounts = args.extraBindMounts or []; extraBindMounts = args.extraBindMounts or [];
extraInstallCommands = args.extraInstallCommands or ""; extraInstallCommands = args.extraInstallCommands or "";
importMeta = args.meta or {}; meta = args.meta or {};
passthru = args.passthru or {};
}; };
buildMaven = callPackage ../build-support/build-maven.nix {}; buildMaven = callPackage ../build-support/build-maven.nix {};