Startup services for runit. # Configure Per-User Services and Logging Create the service dirs: ```bash $ mkdir ~/.local/service/ $ mkdir ~/.local/sv/ ``` `~/.local/sv/` will contain our services which we symlink into `~/.local/sv/` to activate. In your `~/.bashrc` or `~/.zshrc`, add this line: ```bash $ export SVDIR=~/.local/sv/ ``` Then as root, make sure you add this to `/root/.(bash|zsh)rc`: ```bash # unset SVDIR ``` Now follow these guides: * [Per-User Services](https://docs.voidlinux.org/config/services/user-services.html) * [Logging](https://docs.voidlinux.org/config/services/logging.html) To view the logs, open another terminal, switch to root and run the command below. Leave this window open so we can view the daemon logs. ```bash # svlogtail daemon ``` Finally make sure your user level service is running: ```bash # sv status runsvdir-narodnik run: runsvdir-narodnik: (pid 25140) 483s ``` # Copy Services Copy the directories here over to `~/.local/sv/`: ```bash $ cp -r darkirc/ ircd/ taud/ ~/.local/sv/ ``` Activate them by symlinking them into `~/.local/service/`. We need the full path. ```bash $ cd ~/.local/service/ $ ln -s /home/USER/.local/sv/darkirc/ . $ ln -s /home/USER/.local/sv/ircd/ . $ ln -s /home/USER/.local/sv/taud/ . ``` Now check they are working fine: ```bash $ sv status darkirc ``` You should also view the log output in the window we opened earlier. # Short Explanation Each directory contains an executable `run` script which launches the daemon. We must redirect STDERR to STDOUT to get error messages in the log output. To enable the log output, we must provide the `log/run` script which contains the logger command. You can test logger output like this: ```bash $ vlogger -t darky -p daemon hello123 ```