Files
sausage/examples/systemd/sausage.service
T

24 lines
877 B
Desktop File

# Sausage as a systemd service. Create the world once as the service user:
# nix run git+https://gitea.surma.technology/surma/sausage -- init /var/lib/sausage/world
# Then: install as /etc/systemd/system/sausage.service, `systemctl enable --now sausage`.
# Adjust User and the path to `nix`.
[Unit]
Description=Sausage world
After=network-online.target
Wants=network-online.target
[Service]
User=sausage
WorkingDirectory=/var/lib/sausage
# The loop restarts the host (newest version) after a crash or a broker `exit`.
# --headless: no console, stdin EOF does not stop the world.
ExecStart=/run/current-system/sw/bin/nix run git+https://gitea.surma.technology/surma/sausage#loop -- --headless /var/lib/sausage/world
Restart=on-failure
RestartSec=5
# SIGTERM stops the host cleanly (exit code 0).
KillMode=control-group
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target