Next: Invoking guix home
, Previous: Configuring the Shell, Up: Home Configuration [Contents][Index]
A home service is not necessarily something that has a daemon and is
managed by Shepherd (see Jump Start in The GNU Shepherd
Manual), in most cases it doesn’t. It’s a simple building block of the
home environment, often declaring a set of packages to be installed in the
home environment profile, a set of config files to be symlinked into
XDG_CONFIG_HOME
(~/.config by default), and environment
variables to be set by a login shell.
There is a service extension mechanism (see 合成服务) which
allows home services to extend other home services and utilize capabilities
they provide; for example: declare mcron jobs (see GNU Mcron) by extending Scheduled User’s Job Execution; declare daemons by
extending Managing User Daemons; add commands, which will be invoked
on by the Bash by extending home-bash-service-type
.
A good way to discover available home services is using the guix
home search
command (see Invoking guix home
). After the required home
services are found, include its module with the use-modules
form
(see Using Guile Modules in The GNU Guile Reference
Manual), or the #:use-modules
directive (see Creating Guile Modules in The GNU Guile Reference Manual) and declare
a home service using the service
function, or extend a service type
by declaring a new service with the simple-service
procedure from
(gnu services)
.
Next: Invoking guix home
, Previous: Configuring the Shell, Up: Home Configuration [Contents][Index]