Guix Services and Shepherd

Knowledge assumptions

  • /gnu/store structure and notion of store item
  • Profiles
  • Init system


Runtime and build time

Shepherd and System services

Shepherd and its daemons

Shepherd services and daemons.

herd status

Run-time entities.

guix system shepherd-graph | dot -Grankdir=LR -Tpdf > shepherd-graph.pdf

Service is a primary guix concept

operating-system is an entry point and bunch of helpers for declaring services.

System services are building blocks for your operating system.

Confusing name clash.

guix system extension-graph | dot -Grankdir=LR -Tpdf > extension-graph.pdf

Simplified OS reconfiguration process

  • Declare OS and services
  • Extend services, instantiate missing one
  • Generate system and switch to it
  • Call activation script
  • Adjust shepherd services according to target
  • Install bootloader


Service, service-type, service-configuration one service-type, many instances

Service modification

Future work

  • User configuration with services (3 options)