about summary refs log tree commit diff
path: root/nixos/modules/services/continuous-integration
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-12-07 15:02:34 +0200
committerFlorian Klink <flokli@flokli.de>2023-12-13 15:15:50 +0200
commit70808d0217b2860d3f5bf2d662fff8667433ba91 (patch)
tree824a6b0598eed7b9d3ae2d62d0d2c08af57c2014 /nixos/modules/services/continuous-integration
parent23ff652157838bdca86d3aa2951a5ca911e3c065 (diff)
nixos/jenkins: set StateDirectory if home is /var/lib/jenkins
This will cause systemd to chown /var/lib/jenkins to the user that
the jenkins systemd service runs as, fixing permission issues when
mounting /var/lib/jenkins from another data volume.

It uses the same logic that garage is using, too, checking for the
prefix.
Diffstat (limited to 'nixos/modules/services/continuous-integration')
-rw-r--r--nixos/modules/services/continuous-integration/jenkins/default.nix1
1 files changed, 1 insertions, 0 deletions
diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix
index e96743784e047..d69cf4587aaba 100644
--- a/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -236,6 +236,7 @@ in {
 
       serviceConfig = {
         User = cfg.user;
+        StateDirectory = mkIf (hasPrefix "/var/lib/jenkins" cfg.home) "jenkins";
       };
     };
   };