From f41349d30d5e1cc72c8041616ecb8c36d56f3682 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 26 Apr 2021 02:39:09 +0200 Subject: [PATCH] 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. --- nixos/modules/services/misc/home-assistant.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 9ae86af08750..1985f1308811 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -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