summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorDavid Thompson <davet@gnu.org>2016-02-12 21:39:26 +0100
committerLudovic Courtès <ludo@gnu.org>2016-02-12 22:02:06 +0100
commit779aa003fbacbbcb6973f289b607d1d285009cec (patch)
tree74c05c5dd104dea4e27d9f28a30bdbfa8f15cdfe /doc
parente5f04c2dde258c14e714e748d17b1137fe0bf4f3 (diff)
downloadguix-779aa003fbacbbcb6973f289b607d1d285009cec.tar.gz
scripts: environment: Build environments as profiles.
Fixes <http://bugs.gnu.org/19816>.

* guix/scripts/environment.scm (evaluate-input-search-paths)
(build-inputs): Delete.
(evaluate-profile-search-paths, strip-input-name)
(package-or-package+output?, package-environment-inputs)
(build-environment, inputs->profile-derivations): New procedures.
(create-environment, show-search-paths, launch-environment)
(launch-environment/container): Replace 'inputs' argument
with 'profile' argument.
(package+propagated-inputs): Strip off names off of input tuples.
(options/resolve-packages): Handle input tuples that specify an output
in expressions.
(guix-environment): Convert inputs into a profile to use in the
environment.  Remove non-package inputs such as origins from
environment inputs.
* doc/guix.texi ("invoking guix environment"): Document package+output
tuples for --expression option.
* tests/guix-environment.sh: Update tests.
* tests/guix-environment-container.sh: Likewise.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi7
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ee5cb5de24..89935b476c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5093,6 +5093,13 @@ guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'
 
 starts a shell with all the GuixSD base packages available.
 
+The above commands only the use default output of the given packages.
+To select other outputs, two element tuples can be specified:
+
+@example
+guix environment --ad-hoc -e '(list (@ (gnu packages bash) bash) "include")'
+@end example
+
 @item --load=@var{file}
 @itemx -l @var{file}
 Create an environment for the package or list of packages that the code