feat(nix): self-sufficient unit-PATH baseline — bash + shell-work basics #215
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/coding-lab!215
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/unit-path-agent-baseline"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Since per-run instance HOMEs (#202/#209), the unit PATH is a session's only tool source: the agent's HOME is a fresh private dir, so user dotfiles, home-manager session vars, and
~/.claude/settings.jsonenv.PATHno longer smuggle tools into sessions. On the deployed module this surfaced immediately: agents report no bash access / missing commands — the curated unit PATH carries no bash (NixOS has no/bin/bash), so Claude Code's Bash tool has no shell to execute through, and every user-profile tool vanished with the HOME rescue.Change
bashInteractivejoins the load-bearing head of the unit PATH (documented alongside openssh/util-linux in the module header).coreutils,findutils,gnugrep,gnused,diffutils,which— self-documenting rather than leaning on the implicit NixOS unit-path suffix.nix, ADR-0033).extraPackages' description now states that host-specific agent tools (ddev, docker) must go there —environment.systemPackagesdoes not reach sessions anymore.nixos-modulecheck pins the extended baseline by package name (verified: eval asserts + built check pass).Note for deployment
Pairs with #213 (per-run config-dir pin) and PR #212 (deterministic pane env): together they make a session's environment exactly unit PATH + explicit spawn env, independent of whoever's dotfiles are on the host. Before bumping the prod pin past #209, hosts relying on systemPackages leakage (e.g. dev-new's ddev comment) should move those tools to
services.lab.extraPackages.🤖 Generated with Claude Code