~ruther/guix-local

201855221fa426851556b973e39f21e5ced7dfdf — Ludovic Courtès 9 years ago 8173cee
environment: Set 'GUIX_ENVIRONMENT' to the profile.

* guix/scripts/environment.scm (create-environment): Set
'GUIX_ENVIRONMENT' to PROFILE.
* tests/guix-environment.sh: Test it.
* doc/guix.texi (Invoking guix environment): Document it.
3 files changed, 16 insertions(+), 3 deletions(-)

M doc/guix.texi
M guix/scripts/environment.scm
M tests/guix-environment.sh
M doc/guix.texi => doc/guix.texi +9 -1
@@ 5456,7 5456,8 @@ details on Bash start-up files.}.

@vindex GUIX_ENVIRONMENT
@command{guix environment} defines the @code{GUIX_ENVIRONMENT}
variable in the shell it spawns.  This allows users to, say, define a
variable in the shell it spawns; its value is the file name of the
profile of this environment.  This allows users to, say, define a
specific prompt for development environments in their @file{.bashrc}
(@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):



@@ 5467,6 5468,13 @@ then
fi
@end example

@noindent
... or to browse the profile:

@example
$ ls "$GUIX_ENVIRONMENT/bin"
@end example

Additionally, more than one package may be specified, in which case the
union of the inputs for the given packages are used.  For example, the
command below spawns a shell where all of the dependencies of both Guile

M guix/scripts/environment.scm => guix/scripts/environment.scm +3 -2
@@ 90,8 90,9 @@ existing enviroment variables with additional search paths."
            (evaluate-profile-search-paths profile paths))

  ;; Give users a way to know that they're in 'guix environment', so they can
  ;; adjust 'PS1' accordingly, for instance.
  (setenv "GUIX_ENVIRONMENT" "t"))
  ;; adjust 'PS1' accordingly, for instance.  Set it to PROFILE so users can
  ;; conveniently access its contents.
  (setenv "GUIX_ENVIRONMENT" profile))

(define (show-search-paths profile search-paths pure?)
  "Display SEARCH-PATHS applied to PROFILE.  When PURE? is #t, do not augment

M tests/guix-environment.sh => tests/guix-environment.sh +4 -0
@@ 57,6 57,10 @@ else
    test $? = 42
fi

# Make sure 'GUIX_ENVIRONMENT' points to the profile.
guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
     -- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'

case "`uname -m`" in
    x86_64)
	# On x86_64, we should be able to create a 32-bit environment.