aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorRichard Sent <richard@freakingpenguin.com>2024-03-21 14:36:43 -0400
committerLudovic Courtès <ludo@gnu.org>2024-04-17 12:13:03 +0200
commit59bb53823e6babb2d50e246d312879980c7988c9 (patch)
treee20d682176458fdc8514185da5cd1dc84b5bfd33 /doc
parent9f8e92cc7d8cbcb2709dda5f3f0287215441d939 (diff)
downloadguix-59bb53823e6babb2d50e246d312879980c7988c9.tar
guix-59bb53823e6babb2d50e246d312879980c7988c9.tar.gz
services: Add the Guix Home service.
This patch adds a Guix Home service, which allows for configuring/deploying an operating-system declaration with an associated home-environment. * gnu/services/guix.scm: Add guix-home-service and guix-home-shepherd-service * gnu/home/services/shepherd.scm: Don't attempt to launch user shepherd when the system shepherd runs guix-home-<user> * doc/guix.texi: Add documentation for guix-home-service * gnu/tests/guix.scm: Add a test to verify guix-home-service-type is able to activate a home environment Change-Id: Ifbcc0878d934aa4abe34bb2123b5081fb432aa8e Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi32
1 files changed, 32 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 964a262a7a..ec0edbbbf0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -126,6 +126,7 @@ Copyright @copyright{} 2023 Graham James Addis@*
Copyright @copyright{} 2023 Tomas Volf@*
Copyright @copyright{} 2024 Herman Rimm@*
Copyright @copyright{} 2024 Matthew Trzcinski@*
+Copyright @copyright{} 2024 Richard Sent@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -39350,6 +39351,37 @@ Extra command line options for @code{guix-data-service-process-jobs}.
@end table
@end deftp
+@subsubheading Guix Home Service
+The Guix Home Service allows for associating Guix @ref{Declaring the
+Home Environment, home-environment} declarations with a Guix
+@ref{operating-system Reference, operating-system}.
+
+@defvar guix-home-service-type
+Service type for the Guix Home Service. Its value must be a list of
+lists containing user and home environment pairs. The key of each pair
+is a string representing the user to deploy the configuration under and
+the value is a home-environment configuration.
+
+@lisp
+(define my-home
+ (home-environment
+ ...))
+
+(operating-system
+ (services (list
+ (service guix-home-service-type
+ `(("alice" ,my-home))))))
+@end lisp
+
+This service can be extended by other services to add additional home
+environments, as in this example:
+
+@lisp
+(simple-service 'my-extra-home home-service-type
+ `(("bob" ,my-extra-home))))
+@end lisp
+@end defvar
+
@subsubheading Nar Herder
The @uref{https://git.cbaines.net/guix/nar-herder/about/,Nar Herder} is
a utility for managing a collection of nars.