summary refs log tree commit diff
diff options
context:
space:
mode:
-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: