nixos/errbot: Use systemd-tmpfiles instead of ExecPreStart to create directories

This is more "correct", and also allows removing the deprecated
PermissionsStartOnly declaration in serviceConfig.
This commit is contained in:
dish
2026-03-08 13:17:36 -04:00
parent 0ea2bfd9c0
commit fd08f5a973
+14 -5
View File
@@ -91,6 +91,20 @@ in
};
users.groups.errbot = { };
systemd.tmpfiles.settings = {
"10-errbot" = lib.mapAttrs' (
name: instanceCfg:
let
dataDir = if instanceCfg.dataDir != null then instanceCfg.dataDir else "/var/lib/errbot/${name}";
in
lib.nameValuePair "${dataDir}".d {
group = "errbot";
user = "errbot";
mode = "0755";
}
) cfg.instances;
};
systemd.services = lib.mapAttrs' (
name: instanceCfg:
lib.nameValuePair "errbot-${name}" (
@@ -103,12 +117,7 @@ in
serviceConfig = {
User = "errbot";
Restart = "on-failure";
ExecStartPre = [
"${lib.getExe' pkgs.coreutils "mkdir"} -p ${dataDir}"
"${lib.getExe' pkgs.coreutils "chown"} -R errbot:errbot ${dataDir}"
];
ExecStart = "${pkgs.errbot}/bin/errbot -c ${mkConfigDir instanceCfg dataDir}/config.py";
PermissionsStartOnly = true;
};
}
)