nixos/home-assistant: Restart systemd unit on restart service

Home-assistant through its `--runner` commandline flag supports sending
exit code 100 when the `homeassistant.restart` service is called.

With `RestartForceExitStatus` we can listen for that specific exit code
and restart the whole systemd unit, providing an actual clean restart
with fresh processes. Additional treat exit code 100 as a successful
termination.
This commit is contained in:
Martin Weinelt 2021-04-26 02:39:09 +02:00
parent 1dbb60f562
commit f41349d30d
No known key found for this signature in database
GPG key ID: 87C1E9888F856759

View file

@ -267,11 +267,13 @@ in {
"CAP_NET_RAW"
]));
in {
ExecStart = "${package}/bin/hass --config '${cfg.configDir}'";
ExecStart = "${package}/bin/hass --runner --config '${cfg.configDir}'";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
User = "hass";
Group = "hass";
Restart = "on-failure";
RestartForceExitStatus = "100";
SuccessExitStatus = "100";
KillSignal = "SIGINT";
# Hardening