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


13.3.5 Managing User Daemons

The (gnu home services shepherd) module supports the definitions of per-user Shepherd services (see Introduction in The GNU Shepherd Manual). You extend home-shepherd-service-type with new services; Guix Home then takes care of starting the shepherd daemon for you when you log in, which in turns starts the services you asked for.

Variable: home-shepherd-service-type

The service type for the userland Shepherd, which allows one to manage long-running processes or one-shot tasks. User’s Shepherd is not an init process (PID 1), but almost all other information described in (see Shepherd Services) is applicable here too.

This is the service type that extensions target when they want to create shepherd services (see Service Types and Services, for an example). Each extension must pass a list of <shepherd-service>. Its value must be a home-shepherd-configuration, as described below.

Data Type: home-shepherd-configuration

This data type represents the Shepherd’s configuration.

shepherd (default: shepherd)

The Shepherd package to use.

auto-start? (default: #t)

Whether or not to start Shepherd on first login.

daemonize? (default: #t)

Whether or not to run Shepherd in the background.

silent? (default: #t)

When true, the shepherd process does not write anything to standard output when started automatically.

services (default: '())

A list of <shepherd-service> to start. You should probably use the service extension mechanism instead (see Shepherd Services).