diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index cf13c73ab4d..7a118ac7207 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -69,10 +69,11 @@ in { type = with types; attrsOf str; description = '' Additional environment variables to be passed to the jenkins process. - This setting will merge with everything in - , - JENKINS_HOME and NIX_REMOTE. This option takes precedence and can - override any previously set environment variable. + As a base environment, jenkins receives NIX_PATH, SSL_CERT_FILE and + GIT_SSL_CAINFO from , + NIX_REMOTE is set to "daemon" and JENKINS_HOME is set to + the value of . This option has + precedence and can be used to override those mentioned variables. ''; }; @@ -110,11 +111,20 @@ in { wantedBy = [ "multi-user.target" ]; environment = - config.environment.sessionVariables // - { JENKINS_HOME = cfg.home; - NIX_REMOTE = "daemon"; - } // - cfg.environment; + let + selectedSessionVars = + lib.filterAttrs (n: v: builtins.elem n + [ "NIX_PATH" + "SSL_CERT_FILE" + "GIT_SSL_CAINFO" + ]) + config.environment.sessionVariables; + in + selectedSessionVars // + { JENKINS_HOME = cfg.home; + NIX_REMOTE = "daemon"; + } // + cfg.environment; path = cfg.packages;