feat(work): source ~/.jenkinsenv in all zsh shells #64

Merged
lyrathorpe merged 2 commits from feat/jenkins_mcp into main 2026-07-14 16:05:52 +01:00
Owner

What

Add programs.zsh.envExtra to the EDaaS/WSL work profile
(users/emmathorpe/work.nix) so ~/.jenkinsenv is sourced from ~/.zshenv
on every zsh invocation — login, interactive, and non-interactive.

Why

The two Jenkins MCP servers (jenkins-uce, jenkins-stf) read
JENKINS_UCE_* / JENKINS_STF_* credentials via ${JENKINS_*} expansion.
Sourcing from ~/.zshenv makes them available to all shells and anything they
launch, including GUI-launched Claude Code. ~/.jenkinsenv is deliberately not
nix-managed — it holds secrets and stays out of the world-readable nix store.

Notes

  • Guarded ([ -f ... ] && . ...) so a missing file never breaks a shell.
  • Scoped to the work host; personal hosts are untouched.

Testing

  • nix fmt — no changes (already conformant).
  • nix eval of emmathorpe-edaas toplevel — evaluates cleanly.
## What Add `programs.zsh.envExtra` to the EDaaS/WSL work profile (`users/emmathorpe/work.nix`) so `~/.jenkinsenv` is sourced from `~/.zshenv` on every zsh invocation — login, interactive, and non-interactive. ## Why The two Jenkins MCP servers (`jenkins-uce`, `jenkins-stf`) read `JENKINS_UCE_*` / `JENKINS_STF_*` credentials via `${JENKINS_*}` expansion. Sourcing from `~/.zshenv` makes them available to all shells and anything they launch, including GUI-launched Claude Code. `~/.jenkinsenv` is deliberately not nix-managed — it holds secrets and stays out of the world-readable nix store. ## Notes - Guarded (`[ -f ... ] && . ...`) so a missing file never breaks a shell. - Scoped to the work host; personal hosts are untouched. ## Testing - `nix fmt` — no changes (already conformant). - `nix eval` of `emmathorpe-edaas` toplevel — evaluates cleanly.
lyrathorpe scheduled this pull request to auto merge when all checks succeed 2026-07-10 12:39:57 +01:00
lyrathorpe scheduled this pull request to auto merge when all checks succeed 2026-07-14 15:58:16 +01:00
lyrathorpe added 2 commits 2026-07-14 16:01:52 +01:00
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) <noreply@anthropic.com>
feat(work.nix): source splunk MCP token too
CI / flake (pull_request) Successful in 3m51s
10c64c77f1
lyrathorpe force-pushed feat/jenkins_mcp from 3ee4b550d7 to 10c64c77f1 2026-07-14 16:01:52 +01:00 Compare
lyrathorpe merged commit e0fc1021ea into main 2026-07-14 16:05:52 +01:00
lyrathorpe deleted branch feat/jenkins_mcp 2026-07-14 16:05:52 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lyrathorpe/nixfiles#64