diff options
author | Richard Sent <richard@freakingpenguin.com> | 2024-03-21 14:36:43 -0400 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-04-17 12:13:03 +0200 |
commit | 59bb53823e6babb2d50e246d312879980c7988c9 (patch) | |
tree | e20d682176458fdc8514185da5cd1dc84b5bfd33 /doc | |
parent | 9f8e92cc7d8cbcb2709dda5f3f0287215441d939 (diff) | |
download | guix-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.texi | 32 |
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. |