Next: , Previous: , Up: Home Configuration   [Contents][Index]


11.3 Home Services

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 Service Composition) which allows home services to extend other home services and utilize capabilities they provide; for example: declare mcron jobs (see GNU Mcron) by extending Mcron Home Service; declare daemons by extending Shepherd Home Service; add commands, which will be invoked on by the Bash by extending home-bash-service-type.

A good way to discover avaliable 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: , Previous: , Up: Home Configuration   [Contents][Index]