summary refs log tree commit diff
path: root/gnu/build/install.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-11-05 23:56:22 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-11-05 23:56:22 +0100
commitf4a5faa9dcadc698383e15743ac5f974ee0e3c8b (patch)
tree96124567d5604c496cf8d2848ffe348de0b701ac /gnu/build/install.scm
parent16b89ecc1f2f1f9651d119518c0e752b01f0f07b (diff)
parentadde15186da7529b85097fdafffc2a13b0e60bdf (diff)
downloadguix-f4a5faa9dcadc698383e15743ac5f974ee0e3c8b.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/build/install.scm')
-rw-r--r--gnu/build/install.scm26
1 files changed, 19 insertions, 7 deletions
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index c602d69489..98c547f2e4 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -160,6 +160,7 @@ deduplicates files common to CLOSURE and the rest of PREFIX."
 
 (define* (populate-single-profile-directory directory
                                             #:key profile closure
+                                            (profile-name "guix-profile")
                                             deduplicate?
                                             register? schema)
   "Populate DIRECTORY with a store containing PROFILE, whose closure is given
@@ -169,6 +170,9 @@ When REGISTER? is true, initialize DIRECTORY/var/guix/db to reflect the
 contents of the store; DEDUPLICATE? determines whether to deduplicate files in
 the store.
 
+PROFILE-NAME is the name of the profile being created under
+/var/guix/profiles, typically either \"guix-profile\" or \"current-guix\".
+
 This is used to create the self-contained tarballs with 'guix pack'."
   (define (scope file)
     (string-append directory "/" file))
@@ -198,12 +202,20 @@ This is used to create the self-contained tarballs with 'guix pack'."
   ;; Make root's profile, which makes it a GC root.
   (mkdir-p* %root-profile)
   (symlink* profile
-            (string-append %root-profile "/guix-profile-1-link"))
-  (symlink* "guix-profile-1-link"
-            (string-append %root-profile "/guix-profile"))
-
-  (mkdir-p* "/root")
-  (symlink* (string-append %root-profile "/guix-profile")
-            "/root/.guix-profile"))
+            (string-append %root-profile "/" profile-name "-1-link"))
+  (symlink* (string-append profile-name "-1-link")
+            (string-append %root-profile "/" profile-name))
+
+  (match profile-name
+    ("guix-profile"
+     (mkdir-p* "/root")
+     (symlink* (string-append %root-profile "/guix-profile")
+               "/root/.guix-profile"))
+    ("current-guix"
+     (mkdir-p* "/root/.config/guix")
+     (symlink* (string-append %root-profile "/current-guix")
+               "/root/.config/guix/current"))
+    (_
+     #t)))
 
 ;;; install.scm ends here