Switch all systemd services from Type=simple to Type=exec Type "exec" waits until the service process is exec'ed before reporting success, while "simple" succeeds right after the fork and will not detect errors such as missing binaries or invalid user/group.
3 files changed, 3 insertions(+), 3 deletions(-) M modules/services/cluster/ipfs-cluster.nix M modules/services/networking/matrix-appservice-irc.nix M modules/services/networking/trust-dns.nix
M modules/services/cluster/ipfs-cluster.nix => modules/services/cluster/ipfs-cluster.nix +1 -1
@@ 105,7 105,7 @@ in IPFS_CLUSTER_PATH = cfg.dataDir; } // settingsToEnv cfg.settings; serviceConfig = { Type = "simple"; Type = "exec"; User = cfg.user; Group = cfg.group; Restart = "on-abnormal";
M modules/services/networking/matrix-appservice-irc.nix => modules/services/networking/matrix-appservice-irc.nix +1 -1
@@ 119,7 119,7 @@ in description = "Matrix bridge to IRC"; wantedBy = [ "multi-user.target" ]; serviceConfig = rec { Type = "simple"; Type = "exec"; ExecStartPre = reconfigureScript; ExecStart = "${pkg}/bin/matrix-appservice-irc --config /etc/matrix-appservice-irc/config.json --file /etc/matrix-appservice-irc/registration.yaml"; ExecReload = [ reconfigureScript "${pkgs.coreutils}/bin/kill -HUP $MAINPID" ];
M modules/services/networking/trust-dns.nix => modules/services/networking/trust-dns.nix +1 -1