From 0dbf33d476635c0350c06f22a5030339306255bb Mon Sep 17 00:00:00 2001 From: Emma Thorpe Date: Fri, 10 Jul 2026 12:31:35 +0100 Subject: [PATCH 1/2] feat(work): source ~/.jenkinsenv in all zsh shells Add programs.zsh.envExtra to the EDaaS work profile so ~/.jenkinsenv is sourced from ~/.zshenv on every zsh invocation (login, interactive, and non-interactive), exporting the JENKINS_UCE_/JENKINS_STF_ tokens the Jenkins MCP servers read via ${JENKINS_*} expansion. Guarded so a missing file does not break the shell; the file is kept out of the world-readable nix store because it holds secrets. Co-Authored-By: Claude Opus 4.8 (1M context) --- users/emmathorpe/work.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/users/emmathorpe/work.nix b/users/emmathorpe/work.nix index 1b76ffc..7f858f3 100644 --- a/users/emmathorpe/work.nix +++ b/users/emmathorpe/work.nix @@ -51,6 +51,16 @@ home.shellAliases = { docker = "/run/current-system/sw/bin/docker"; }; + + # Source the (nix-unmanaged) Jenkins credentials file into every zsh, so the + # JENKINS_UCE_/JENKINS_STF_ tokens are exported for all shells and anything they + # launch -- the Jenkins MCP servers read them via ${JENKINS_*} expansion. + # envExtra lands in ~/.zshenv, which zsh sources for login, interactive, and + # non-interactive shells alike. Guarded so a missing file never breaks a shell; + # the file holds secrets, so it is kept out of the world-readable nix store. + programs.zsh.envExtra = '' + [ -f "$HOME/.jenkinsenv" ] && . "$HOME/.jenkinsenv" + ''; programs.tmux = { # kube context/namespace in the status line. kube-tmux is pinned as a flake # input (it is not in nixpkgs), so the script is always present in the store. -- 2.54.0 From 10c64c77f18080bac9d0f3020080a5f3ed5f9be7 Mon Sep 17 00:00:00 2001 From: Emma Thorpe Date: Tue, 14 Jul 2026 15:58:00 +0100 Subject: [PATCH 2/2] feat(work.nix): source splunk MCP token too --- users/emmathorpe/work.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/emmathorpe/work.nix b/users/emmathorpe/work.nix index 7f858f3..adbf0e6 100644 --- a/users/emmathorpe/work.nix +++ b/users/emmathorpe/work.nix @@ -60,6 +60,7 @@ # the file holds secrets, so it is kept out of the world-readable nix store. programs.zsh.envExtra = '' [ -f "$HOME/.jenkinsenv" ] && . "$HOME/.jenkinsenv" + [ -f "$HOME/.splunkenv" ] && . "$HOME/.splunkenv" ''; programs.tmux = { # kube context/namespace in the status line. kube-tmux is pinned as a flake -- 2.54.0