@@ -4,6 +4,8 @@ The `shepherd` and `cron` directories go in `.config`
The shell scripts sit in the home directory.
The systemd service is to start shepherd automatically on system boot.
Working with Shepherd Services
Each service is stored in a separate file. This allows us to reload individual services without needing to restart all of the services in one go. In order to see which services are available run the command `herd status`. 'Started' services are currently running, 'Stopped' services are not running but are still loaded, and 'One-shot' are services which are not running but run a one-off script or service.
@@ -14,3 +16,5 @@ $ herd stop foo
$ herd load root .config/shepherd/init.d/bar.scm
The second command will load the code in `bar.scm` into `shepherd`, and if the service is configured to start automatically at startup it will start immediately. This process should not affect the other running services.
To use shepherd's herd command, assuming you have permissions granted in /etc/sudoers, the command is 'sudo -u shepherd /home/shepherd/.guix-profile/bin/herd status'. Adding a bash alias, such as "alias herd-herd='sudo -u shepherd /home/shepherd/.guix-profile/bin/herd'", will make it easier to interact with shepherd without needing to switch to the shepherd user. The logs for the various shepherd services are located in /home/shepherd/logs/ but are not yet timestamped. The log for shepherd itself is in /home/shepherd/.config/shepherd/shepherd.log. There is not yet a way to change this from a config file.