refactor: thread agent packages via option, drop overlay and forge-tools shim
This commit is contained in:
parent
e7689a6804
commit
281667d5a8
13 changed files with 139 additions and 168 deletions
|
|
@ -31,6 +31,7 @@
|
|||
./matrix.nix
|
||||
./mcp.nix
|
||||
./network.nix
|
||||
./packages.nix
|
||||
./user.nix
|
||||
./weston-vnc.nix
|
||||
];
|
||||
|
|
@ -153,22 +154,24 @@
|
|||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) [ "claude-code" ];
|
||||
|
||||
# Core tooling every agent gets. Per-bin split packages (see
|
||||
# nix/packages/default.nix) rather than the full `pkgs.hyperhive`
|
||||
# bundle — that bundle also carries `hivectl` (a host-admin CLI
|
||||
# that dials the *host* admin socket — useless and unreachable
|
||||
# from inside a container — wrapped with `wireguard-tools` for
|
||||
# `hivectl wg`). The daemon/harness/MCP bins the harness execs
|
||||
# (hive-agent{,-mcp}, hive-bash-daemon, hive-matrix-daemon,
|
||||
# hive-bash-mcp, hive-matrix-mcp) are wired via their own
|
||||
# ExecStart/command lines in the sibling modules with the matching
|
||||
# `pkgs.hive-*` package — they don't need to be on PATH too. Only
|
||||
# these two are actually looked up on PATH by claude/shell code
|
||||
# inside the container: `hive-agent-wake` (external wake CLI,
|
||||
# docs/turn-loop/mcp.md) and `hive-metric` (agent-emitted custom
|
||||
# metrics CLI, docs/observability.md).
|
||||
environment.systemPackages = with pkgs; [
|
||||
hive-agent-wake
|
||||
hive-metric
|
||||
# nix/packages/default.nix + ./packages.nix) rather than the full
|
||||
# `hyperhive` bundle — that bundle also carries `hivectl` (a
|
||||
# host-admin CLI that dials the *host* admin socket — useless and
|
||||
# unreachable from inside a container — wrapped with
|
||||
# `wireguard-tools` for `hivectl wg`). The daemon/harness/MCP bins
|
||||
# the harness execs (hive-agent{,-mcp}, hive-bash-daemon,
|
||||
# hive-matrix-daemon, hive-bash-mcp, hive-matrix-mcp) are wired via
|
||||
# their own ExecStart/command lines in the sibling modules — they
|
||||
# don't need to be on PATH too. Only these two are actually looked
|
||||
# up on PATH by claude/shell code inside the container:
|
||||
# `hive-agent-wake` (external wake CLI, docs/turn-loop/mcp.md) and
|
||||
# `hive-metric` (agent-emitted custom metrics CLI,
|
||||
# docs/observability.md).
|
||||
environment.systemPackages = [
|
||||
config.hyperhive.packages.hive-agent-wake
|
||||
config.hyperhive.packages.hive-metric
|
||||
]
|
||||
++ (with pkgs; [
|
||||
claude-code
|
||||
bashInteractive
|
||||
coreutils-full
|
||||
|
|
@ -180,7 +183,7 @@
|
|||
jq
|
||||
# curl: HTTP client for forge REST API and other web requests.
|
||||
curl
|
||||
];
|
||||
]);
|
||||
|
||||
# HIVE_ASSETS_DIR points at the project's static runtime assets
|
||||
# (branding + claude prompts; see `nix/packages/assets.nix`). Set
|
||||
|
|
@ -191,7 +194,7 @@
|
|||
# host-level `services.hyperhive.c0re.contextWindowTokens` option — not
|
||||
# set here.
|
||||
environment.variables = {
|
||||
HIVE_ASSETS_DIR = "${pkgs.hyperhive-assets}/share/hyperhive";
|
||||
HIVE_ASSETS_DIR = "${config.hyperhive.packages.assets}/share/hyperhive";
|
||||
SHELL = "${pkgs.bashInteractive}/bin/bash";
|
||||
# Route interactive-shell nix invocations through the host daemon.
|
||||
# Redundant with /etc/profile.d/nix-daemon.sh but ensures it's set
|
||||
|
|
|
|||
Loading…
Reference in a new issue