diff options
author | Ludovic Courtès <ludovic.courtes@inria.fr> | 2019-02-15 08:45:57 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-02-16 01:00:08 +0100 |
commit | e6e599fa0106f57b9de15f90dcab3795ff1575b6 (patch) | |
tree | 41112369b86919e57ac207625ddedee15162d85f /doc | |
parent | 3a34c9e62e5b4336f6dacaf24e0e7466b2fa241b (diff) | |
download | guix-e6e599fa0106f57b9de15f90dcab3795ff1575b6.tar guix-e6e599fa0106f57b9de15f90dcab3795ff1575b6.tar.gz |
environment: Add '--inherit'.
* guix/scripts/environment.scm (purify-environment): Add 'white-list'
parameter and honor it.
(create-environment): Add #:white-list parameter and honor it.
(launch-environment): Likewise.
(launch-environment/fork): Likewise.
(show-help, %options): Add '--inherit'.
(guix-environment): Define 'white-list' and pass it to
'launch-environment/fork'.
* tests/guix-environment.sh: Test '--inherit'.
* doc/guix.texi (Invoking guix environment): Document it.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 1ac077d98a..68d39ed02f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4454,9 +4454,24 @@ default behavior. Packages appearing after are interpreted as packages that will be added to the environment directly. @item --pure -Unset existing environment variables when building the new environment. -This has the effect of creating an environment in which search paths -only contain package inputs. +Unset existing environment variables when building the new environment, except +those specified with @option{--inherit} (see below.) This has the effect of +creating an environment in which search paths only contain package inputs. + +@item --inherit=@var{regexp} +When used alongside @option{--pure}, inherit all the environment variables +matching @var{regexp}---in other words, put them on a ``white list'' of +environment variables that must be preserved. + +@example +guix environment --pure --inherit=^SLURM --ad-hoc openmpi @dots{} \ + -- mpirun @dots{} +@end example + +This example runs @command{mpirun} in a context where the only environment +variables defined are @code{PATH}, environment variables whose name starts +with @code{SLURM}, as well as the usual ``precious'' variables (@code{HOME}, +@code{USER}, etc.) @item --search-paths Display the environment variable definitions that make up the |