aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tropin <andrew@trop.in>2024-05-22 13:49:37 +0400
committerAndrew Tropin <andrew@trop.in>2024-06-02 13:38:52 +0400
commitdbeef44f3c520816251bde74c1005915a637e1ef (patch)
tree1acade4b0055a56491859f9221c5c8f0746b68f5
parentfa7906d64881ee12e0c418136b44c73766e3d169 (diff)
downloadguix-dbeef44f3c520816251bde74c1005915a637e1ef.tar
guix-dbeef44f3c520816251bde74c1005915a637e1ef.tar.gz
services: home: Use pairs instead of lists.
* gnu/services/guix.scm: Use pairs instead of lists. * doc/guix.texi: Update accordingly. * gnu/tests/guix.scm: Update accordingly. Change-Id: I0b8d3fa5b214add89bdb84a11fa20d1b319435f0
-rw-r--r--doc/guix.texi4
-rw-r--r--gnu/services/guix.scm6
-rw-r--r--gnu/tests/guix.scm2
3 files changed, 7 insertions, 5 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 1224104038..ea8ac24443 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -39607,7 +39607,7 @@ the value is a home-environment configuration.
(operating-system
(services (append (list (service guix-home-service-type
- `(("alice" ,my-home))))
+ `(("alice" . ,my-home))))
%base-services)))
@end lisp
@@ -39616,7 +39616,7 @@ environments, as in this example:
@lisp
(simple-service 'my-extra-home home-service-type
- `(("bob" ,my-extra-home))))
+ `(("bob" . ,my-extra-home))))
@end lisp
@end defvar
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 96f5ecaac0..3818749baa 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -696,7 +696,7 @@ ca-certificates.crt file in the system profile."
(define (guix-home-shepherd-service config)
(map (match-lambda
- ((user he)
+ (((? string? user) . (? home-environment? he))
(shepherd-service
(documentation "Activate Guix Home.")
(requirement '(user-processes))
@@ -710,7 +710,9 @@ ca-certificates.crt file in the system profile."
(list (string-append "HOME=" (passwd:dir (getpw #$user)))
"GUIX_SYSTEM_IS_RUNNING_HOME_ACTIVATE=t")
#:group (group:name (getgrgid (passwd:gid (getpw #$user))))))
- (stop #~(make-kill-destructor)))))
+ (stop #~(make-kill-destructor))))
+ (e (error "Invalid value for guix-home, it should be in a form of
+(\"user-name\" . home-environment), but the following value is provided:\n" e)))
config))
(define guix-home-service-type
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index 12ad1bf255..6071cb018e 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -271,7 +271,7 @@ host all all ::1/128 trust"))))))
(define %guix-home-service-os
(simple-operating-system
(service guix-home-service-type
- `(("alice" ,%guix-home-service-he)))))
+ `(("alice" . ,%guix-home-service-he)))))
(define (run-guix-home-service-test)
(define os