[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: environment: Define 'GUIX_ENVIRONMENT'.
From: |
Ludovic Courtès |
Subject: |
02/02: environment: Define 'GUIX_ENVIRONMENT'. |
Date: |
Wed, 01 Jul 2015 12:39:59 +0000 |
civodul pushed a commit to branch wip-environment
in repository guix.
commit fc90470fed4122617a4c2ec5d78e1cf21dd9aacf
Author: Ludovic Courtès <address@hidden>
Date: Wed Jul 1 14:39:14 2015 +0200
environment: Define 'GUIX_ENVIRONMENT'.
* guix/scripts/environment.scm (create-environment): Define
'GUIX_ENVIRONMENT'.
* doc/guix.texi (Invoking guix environment): Document it.
---
doc/guix.texi | 13 +++++++++++++
guix/scripts/environment.scm | 6 +++++-
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index a35ea2f..8cf1622 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4146,6 +4146,19 @@ variables in @file{.bashrc}; instead, they should be
defined in
@xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}, for
details on Bash start-up files.}.
address@hidden GUIX_ENVIRONMENT
address@hidden environment} defines the @code{GUIX_ENVIRONMENT}
+variable in the shell it spaws. 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}):
+
address@hidden
+if [ -n "$GUIX_ENVIRONMENT" ]
+then
+ export PS1="\u@@\h \w [dev]\$"
+fi
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 00c4df7..c6cac46 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -78,7 +78,11 @@ search paths."
(if (and current (not pure?))
(string-append value separator current)
value)))))
- (evaluate-input-search-paths inputs paths)))
+ (evaluate-input-search-paths inputs 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"))
(define (show-search-paths inputs search-paths pure?)
"Display SEARCH-PATHS applied to the packages specified by INPUTS, a list of