From d84bfa78e13a62928fa3ffd9d2f78a3d79a0708b Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Sat, 13 Apr 2013 19:10:50 +0200 Subject: Add cleanupCmds option to pkgs.myEnvFun This option allows the user to specify commands to run when the shell exits. This can be used to cleanup operations done in `extraCmds'. Signed-off-by: Moritz Ulrich --- pkgs/misc/my-env/default.nix | 9 ++++++++- pkgs/misc/my-env/loadenv.sh | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'pkgs/misc/my-env') diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix index e68e4cab3492..e89a8ebb230d 100644 --- a/pkgs/misc/my-env/default.nix +++ b/pkgs/misc/my-env/default.nix @@ -59,7 +59,7 @@ { mkDerivation, substituteAll, pkgs }: { stdenv ? pkgs.stdenv, name, buildInputs ? [] , propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? "" - , shell ? "${pkgs.bashInteractive}/bin/bash"}: + , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash"}: mkDerivation { # The setup.sh script from stdenv will expect the native build inputs in @@ -133,8 +133,15 @@ mkDerivation { fi rm -fr "\$tmp" ${extraCmds} + + nix_cleanup() { + ${cleanupCmds} + } + export PATH echo $name loaded + + trap nix_cleanup EXIT EOF mkdir -p $out/bin diff --git a/pkgs/misc/my-env/loadenv.sh b/pkgs/misc/my-env/loadenv.sh index c116c14d8fe6..5d126f0c29bb 100644 --- a/pkgs/misc/my-env/loadenv.sh +++ b/pkgs/misc/my-env/loadenv.sh @@ -10,4 +10,5 @@ export buildInputs export NIX_STRIP_DEBUG=0 export TZ="$OLDTZ" -exec @shell@ --norc +@shell@ --norc + -- cgit v1.2.3