···6969 type = with types; attrsOf str;
7070 description = ''
7171 Additional environment variables to be passed to the jenkins process.
7272- This setting will merge with everything in
7373- <option>config.environment.sessionVariables</option>,
7474- JENKINS_HOME and NIX_REMOTE. This option takes precedence and can
7575- override any previously set environment variable.
7272+ As a base environment, jenkins receives NIX_PATH, SSL_CERT_FILE and
7373+ GIT_SSL_CAINFO from <option>environment.sessionVariables</option>,
7474+ NIX_REMOTE is set to "daemon" and JENKINS_HOME is set to
7575+ the value of <option>services.jenkins.home</option>. This option has
7676+ precedence and can be used to override those mentioned variables.
7677 '';
7778 };
7879···110111 wantedBy = [ "multi-user.target" ];
111112112113 environment =
113113- config.environment.sessionVariables //
114114- { JENKINS_HOME = cfg.home;
115115- NIX_REMOTE = "daemon";
116116- } //
117117- cfg.environment;
114114+ let
115115+ selectedSessionVars =
116116+ lib.filterAttrs (n: v: builtins.elem n
117117+ [ "NIX_PATH"
118118+ "SSL_CERT_FILE"
119119+ "GIT_SSL_CAINFO"
120120+ ])
121121+ config.environment.sessionVariables;
122122+ in
123123+ selectedSessionVars //
124124+ { JENKINS_HOME = cfg.home;
125125+ NIX_REMOTE = "daemon";
126126+ } //
127127+ cfg.environment;
118128119129 path = cfg.packages;
120130