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


13.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 合成服务) 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]