doc: Expound on ‘guix-home-service-type’.
* doc/guix.texi (Guix Home Service): Reword intro. Tweak example to be closer to reality. (Declaring the Home Environment): Link to ‘guix-home-service-type’. (Invoking guix home): Likewise. Change-Id: I0355a6da9b9a28818eb0738854381671a6a1f652master
parent
59bb53823e
commit
f594d1bb80
|
@ -39351,26 +39351,33 @@ Extra command line options for @code{guix-data-service-process-jobs}.
|
||||||
@end table
|
@end table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
|
@anchor{guix-home-service-type}
|
||||||
@subsubheading Guix Home Service
|
@subsubheading Guix Home Service
|
||||||
The Guix Home Service allows for associating Guix @ref{Declaring the
|
|
||||||
Home Environment, home-environment} declarations with a Guix
|
The Guix Home service is a way to let Guix System deploy the home
|
||||||
@ref{operating-system Reference, operating-system}.
|
environment of one or more users (@pxref{Home Configuration}, for more
|
||||||
|
on Guix Home). That way, the system configuration embeds declarations
|
||||||
|
of the home environment of those users and can be used to deploy
|
||||||
|
everything consistently at once, saving users the need to run
|
||||||
|
@command{guix home reconfigure} independently.
|
||||||
|
|
||||||
@defvar guix-home-service-type
|
@defvar guix-home-service-type
|
||||||
Service type for the Guix Home Service. Its value must be a list of
|
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
|
lists containing user and home environment pairs. The key of each pair
|
||||||
is a string representing the user to deploy the configuration under and
|
is a string representing the user to deploy the configuration under and
|
||||||
the value is a home-environment configuration.
|
the value is a home-environment configuration.
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
|
(use-modules (gnu home))
|
||||||
|
|
||||||
(define my-home
|
(define my-home
|
||||||
(home-environment
|
(home-environment
|
||||||
...))
|
@dots{}))
|
||||||
|
|
||||||
(operating-system
|
(operating-system
|
||||||
(services (list
|
(services (append (list (service guix-home-service-type
|
||||||
(service guix-home-service-type
|
`(("alice" ,my-home))))
|
||||||
`(("alice" ,my-home))))))
|
%base-services)))
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
This service can be extended by other services to add additional home
|
This service can be extended by other services to add additional home
|
||||||
|
@ -44255,6 +44262,12 @@ mechanism to create the XDG run-time directory and has the
|
||||||
like user Shepherd and its descendants will not start.
|
like user Shepherd and its descendants will not start.
|
||||||
@end quotation
|
@end quotation
|
||||||
|
|
||||||
|
If you're using Guix System, you can embed your home configuration in
|
||||||
|
your system configuration such that @command{guix system reconfigure}
|
||||||
|
will deploy both the system @emph{and} your home at once!
|
||||||
|
@xref{guix-home-service-type, @code{guix-home-service-type}}, for how to
|
||||||
|
do that.
|
||||||
|
|
||||||
@node Configuring the Shell
|
@node Configuring the Shell
|
||||||
@section Configuring the Shell
|
@section Configuring the Shell
|
||||||
This section is safe to skip if your shell or shells are managed by
|
This section is safe to skip if your shell or shells are managed by
|
||||||
|
@ -46499,12 +46512,13 @@ guix time-machine \
|
||||||
|
|
||||||
You can think of it as some sort of built-in version control! Your
|
You can think of it as some sort of built-in version control! Your
|
||||||
home is not just a binary artifact: @emph{it carries its own source}.
|
home is not just a binary artifact: @emph{it carries its own source}.
|
||||||
@c @xref{Service Reference, @code{provenance-service-type}}, for more
|
|
||||||
@c information on provenance tracking.
|
|
||||||
|
|
||||||
@c @footnote{This action (and the related actions
|
@quotation Note
|
||||||
@c @code{switch-generation} and @code{roll-back}) are usable after the
|
If you're using Guix System, @ref{guix-home-service-type,
|
||||||
@c home environment is initialized.}.
|
@code{guix-home-service-type}}, on how to embed your home configuration
|
||||||
|
in your system configuration such that @command{guix system reconfigure}
|
||||||
|
deploys both your system and your home.
|
||||||
|
@end quotation
|
||||||
|
|
||||||
@item switch-generation
|
@item switch-generation
|
||||||
@cindex home generations
|
@cindex home generations
|
||||||
|
|
Reference in New Issue