guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: environment: Set 'GUIX_ENVIRONMENT' to the profile.


From: Ludovic Courtès
Subject: 02/03: environment: Set 'GUIX_ENVIRONMENT' to the profile.
Date: Tue, 26 Jul 2016 16:21:19 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit 201855221fa426851556b973e39f21e5ced7dfdf
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jul 26 17:59:25 2016 +0200

    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.
---
 doc/guix.texi                |   10 +++++++++-
 guix/scripts/environment.scm |    5 +++--
 tests/guix-environment.sh    |    4 ++++
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 8ab4522..786fe55 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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
 
address@hidden
+... or to browse the profile:
+
address@hidden
+$ ls "$GUIX_ENVIRONMENT/bin"
address@hidden 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
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index ebe966f..9f72b7b 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -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
diff --git a/tests/guix-environment.sh b/tests/guix-environment.sh
index 0b5123a..6834352 100644
--- a/tests/guix-environment.sh
+++ b/tests/guix-environment.sh
@@ -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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]