me
/
guix
Archived
1
0
Fork 0

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

* guix/profiles.scm (%known-shorthand-profiles): New variable.
(user-friendly-profile): Use it.
master
Ludovic Courtès 2018-10-12 00:12:00 +02:00
parent 8155a20907
commit 1c795c4fd2
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 13 additions and 6 deletions

View File

@ -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