From 375c410d071bd5773519ef8d6283191b07bb98b1 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 3 Apr 2016 04:14:19 +0300 Subject: [PATCH] userFHSEnv: add passthru, rename meta --- pkgs/build-support/build-fhs-userenv/default.nix | 9 +++++---- pkgs/top-level/all-packages.nix | 5 +++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix index a7e1bd11977..a38f0a4f623 100644 --- a/pkgs/build-support/build-fhs-userenv/default.nix +++ b/pkgs/build-support/build-fhs-userenv/default.nix @@ -1,5 +1,5 @@ { runCommand, lib, writeText, writeScriptBin, stdenv, ruby } : -{ env, runScript ? "bash", extraBindMounts ? [], extraInstallCommands ? "", importMeta ? {} } : +{ env, runScript ? "bash", extraBindMounts ? [], extraInstallCommands ? "", meta ? {}, passthru ? {} } : let name = env.pname; @@ -27,9 +27,9 @@ let ''; in runCommand name { - meta = importMeta; - passthru.env = - runCommand "${name}-shell-env" { + inherit meta; + passthru = passthru // { + env = runCommand "${name}-shell-env" { shellHook = '' export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS" exec ${chroot-user}/bin/chroot-user ${env} bash -l ${init "bash"} "$(pwd)" @@ -40,6 +40,7 @@ in runCommand name { echo >&2 "" exit 1 ''; + }; } '' mkdir -p $out/bin cat <$out/bin/${name} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ae800662444..60d06c4b386 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -134,11 +134,12 @@ in }; 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"; extraBindMounts = args.extraBindMounts or []; extraInstallCommands = args.extraInstallCommands or ""; - importMeta = args.meta or {}; + meta = args.meta or {}; + passthru = args.passthru or {}; }; buildMaven = callPackage ../build-support/build-maven.nix {};