guix-commits
[Top][All Lists]
Advanced

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

02/02: profiles: 'user-friendly-profile' now recognizes ~/.config/guix/c


From: Ludovic Courtès
Subject: 02/02: profiles: 'user-friendly-profile' now recognizes ~/.config/guix/current.
Date: Thu, 11 Oct 2018 18:13:43 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 1c795c4fd2c0f82892c5d1683de197868ecc5214
Author: Ludovic Courtès <address@hidden>
Date:   Fri Oct 12 00:12:00 2018 +0200

    profiles: 'user-friendly-profile' now recognizes ~/.config/guix/current.
    
    * guix/profiles.scm (%known-shorthand-profiles): New variable.
    (user-friendly-profile): Use it.
---
 guix/profiles.scm | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 99e6fe7..89e92ea 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1665,13 +1665,20 @@ as if '-p' was omitted."  ; see 
<http://bugs.gnu.org/17939>
               profile)))
       (const profile))))
 
+(define %known-shorthand-profiles
+  ;; Known shorthand forms for profiles that the user manipulates.
+  (list (string-append (config-directory #:ensure? #f) "/current")
+        %user-profile-directory))
+
 (define (user-friendly-profile profile)
-  "Return either ~/.guix-profile if that's what PROFILE refers to, directly or
-indirectly, or PROFILE."
-  (if (and %user-profile-directory
-           (false-if-exception
-            (string=? (readlink %user-profile-directory) profile)))
-      %user-profile-directory
+  "Return either ~/.guix-profile or ~/.config/guix/current if that's what
+PROFILE refers to, directly or indirectly, or PROFILE."
+  (or (find (lambda (shorthand)
+              (and shorthand
+                   (let ((target (false-if-exception
+                                  (readlink shorthand))))
+                     (and target (string=? target profile)))))
+            %known-shorthand-profiles)
       profile))
 
 ;;; profiles.scm ends here



reply via email to

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