agent: say claude-code is only on PATH for the claude runtime in acp.command
This commit is contained in:
parent
1ce5996c49
commit
3cc4fdb54c
2 changed files with 12 additions and 2 deletions
|
|
@ -133,7 +133,10 @@ at the container level to allowlist `claude-code` specifically —
|
|||
scoped, only this one package, because each per-agent
|
||||
`nixosConfiguration` evaluates its own nixpkgs instance and the
|
||||
operator's host-level `allowUnfree` does **not** propagate in.
|
||||
Operators don't need to set anything on their side.
|
||||
Operators don't need to set anything on their side. Only `runtime = "claude"`
|
||||
agents get `claude` and the allowance; an ACP agent whose `acp.command`
|
||||
needs `claude` adds `pkgs.claude-code` and
|
||||
`nixpkgs.config.allowUnfreePackages = [ "claude-code" ]` itself.
|
||||
|
||||
That same isolation is why an agent can't pick a claude out of a
|
||||
_different_ nixpkgs by itself: a container only ever sees the one
|
||||
|
|
|
|||
|
|
@ -264,7 +264,14 @@ in
|
|||
type = lib.types.str;
|
||||
default = "";
|
||||
example = lib.literalExpression ''"''${pkgs.opencode}/bin/opencode"'';
|
||||
description = "Program the harness spawns as its ACP agent (`HIVE_ACP_COMMAND`).";
|
||||
description = ''
|
||||
Program the harness spawns as its ACP agent (`HIVE_ACP_COMMAND`).
|
||||
|
||||
`claude` is on PATH only when `services.hyperhive.agent.runtime` is
|
||||
`"claude"`. A command that runs `claude` (a Claude ACP adapter, say)
|
||||
needs `pkgs.claude-code` in `environment.systemPackages` and
|
||||
`"claude-code"` in `nixpkgs.config.allowUnfreePackages`.
|
||||
'';
|
||||
};
|
||||
|
||||
args = lib.mkOption {
|
||||
|
|
|
|||
Loading…
Reference in a new issue