summary refs log tree commit diff
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-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: