···69 type = with types; attrsOf str;
70 description = ''
71 Additional environment variables to be passed to the jenkins process.
72- This setting will merge with everything in
73- <option>config.environment.sessionVariables</option>,
74- JENKINS_HOME and NIX_REMOTE. This option takes precedence and can
75- override any previously set environment variable.
076 '';
77 };
78···110 wantedBy = [ "multi-user.target" ];
111112 environment =
113- config.environment.sessionVariables //
114- { JENKINS_HOME = cfg.home;
115- NIX_REMOTE = "daemon";
116- } //
117- cfg.environment;
000000000118119 path = cfg.packages;
120
···69 type = with types; attrsOf str;
70 description = ''
71 Additional environment variables to be passed to the jenkins process.
72+ As a base environment, jenkins receives NIX_PATH, SSL_CERT_FILE and
73+ GIT_SSL_CAINFO from <option>environment.sessionVariables</option>,
74+ NIX_REMOTE is set to "daemon" and JENKINS_HOME is set to
75+ the value of <option>services.jenkins.home</option>. This option has
76+ precedence and can be used to override those mentioned variables.
77 '';
78 };
79···111 wantedBy = [ "multi-user.target" ];
112113 environment =
114+ let
115+ selectedSessionVars =
116+ lib.filterAttrs (n: v: builtins.elem n
117+ [ "NIX_PATH"
118+ "SSL_CERT_FILE"
119+ "GIT_SSL_CAINFO"
120+ ])
121+ config.environment.sessionVariables;
122+ in
123+ selectedSessionVars //
124+ { JENKINS_HOME = cfg.home;
125+ NIX_REMOTE = "daemon";
126+ } //
127+ cfg.environment;
128129 path = cfg.packages;
130