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
|
scoped, only this one package, because each per-agent
|
||||||
`nixosConfiguration` evaluates its own nixpkgs instance and the
|
`nixosConfiguration` evaluates its own nixpkgs instance and the
|
||||||
operator's host-level `allowUnfree` does **not** propagate in.
|
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
|
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
|
_different_ nixpkgs by itself: a container only ever sees the one
|
||||||
|
|
|
||||||
|
|
@ -264,7 +264,14 @@ in
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
default = "";
|
default = "";
|
||||||
example = lib.literalExpression ''"''${pkgs.opencode}/bin/opencode"'';
|
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 {
|
args = lib.mkOption {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue