summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-09 19:57:44 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-09 19:57:44 +0100
commitb9e5c0a949fa627da55ea53fd71dfa96ad8a2b4b (patch)
tree1347ee21801cb69dfe0e97c5a560e2ef268ae42b
parent44b6be7744da9cf5513e4e6361681ea277f69097 (diff)
downloadguix-patches-b9e5c0a949fa627da55ea53fd71dfa96ad8a2b4b.tar
guix-patches-b9e5c0a949fa627da55ea53fd71dfa96ad8a2b4b.tar.gz
guix-package: Create ~/.guix-profile when it doesn't exist.
* guix-package.in (guix-package): Create the %USER-ENVIRONMENT-DIRECTORY symlink if it doesn't exist yet. * doc/guix.texi (Invoking guix-package): Document it.
-rw-r--r--doc/guix.texi6
-rw-r--r--guix-package.in11
2 files changed, 13 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index dc3473405e..1784642c7b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -428,6 +428,12 @@ the transaction. Upon completion, a new profile is created, but
previous generations of the profile remain available, should the user
want to roll back.
+For each user, a symlink to the user's default profile is automatically
+created in @file{$HOME/.guix-profile}. This symlink always point to the
+current generation of the user's default profile. Thus, users can add
+@file{$HOME/.guix-profile/bin} to their @code{PATH} environment
+variable, and so on.
+
@table @code
@item --install=@var{package}
diff --git a/guix-package.in b/guix-package.in
index 286ae8db09..450d09e081 100644
--- a/guix-package.in
+++ b/guix-package.in
@@ -458,6 +458,13 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(setvbuf (current-error-port) _IOLBF)
(let ((opts (parse-options)))
+
+ ;; Create ~/.guix-profile if it doesn't exist yet.
+ (when (and %user-environment-directory
+ %current-profile
+ (not (file-exists? %user-environment-directory)))
+ (symlink %current-profile %user-environment-directory))
+
(with-error-handling
(or (process-query opts)
(parameterize ((%guile-for-build
@@ -466,7 +473,3 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
%bootstrap-guile
guile-final))))
(process-actions opts))))))
-
-;; Local Variables:
-;; eval: (put 'guard 'scheme-indent-function 1)
-;; End: