From fd08f5a97384c0ed9e43c5d9e11031981eb87ea8 Mon Sep 17 00:00:00 2001 From: dish Date: Sun, 8 Mar 2026 13:17:36 -0400 Subject: [PATCH] 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. --- nixos/modules/services/misc/errbot.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/misc/errbot.nix b/nixos/modules/services/misc/errbot.nix index aa94368d61d2..270375256159 100644 --- a/nixos/modules/services/misc/errbot.nix +++ b/nixos/modules/services/misc/errbot.nix @@ -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; }; } )