hyperhive/nix/agent-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas ed1fce3329 nix: gate the avatar-sync path unit on the same condition as its service
`systemd.paths.forge-avatar-sync` was gated on `agent.icon != null` alone,
while the `systemd.services.forge-avatar-sync` it triggers is gated on
`agent.icon != null && agent.forge.url != null`. An agent with an icon and no
forge URL therefore rendered a `.path` unit, pulled into multi-user.target,
watching for a forge-token whose arrival would activate a unit that does not
exist.

The module already documents the fixed behaviour: `forge.url`'s own option
description says the tea-login and avatar-sync units are "not generated at all"
when it is null --- an absent integration, never a misdirected one. That
sentence was true of the oneshot and false of its watcher.

Latent, not live: hive-c0re renders `forge.url` into every agent's config from
the host's `HIVE_FORGE_URL`, so on a real hive it is always set and the
asymmetric arm is unreachable. It is reachable wherever the agent modules are
evaluated outside a hive.

A module-eval case pins both halves absent for an agent with an icon and no
forge; it fails on the parent commit, where the path unit renders.
2026-09-19 13:26:17 +02:00
..
agent-service.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
bao.nix swarm: courier an agent's store identity into its container, and log in with it 2026-09-19 01:55:31 +02:00
bash-env.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
claude-settings.nix agent: make claudePlugins additive instead of replacing 2026-09-19 10:48:29 +02:00
dashboard-links.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
default.nix swarm: courier an agent's store identity into its container, and log in with it 2026-09-19 01:55:31 +02:00
docs.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
forge.nix nix: gate the avatar-sync path unit on the same condition as its service 2026-09-19 13:26:17 +02:00
frontend.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
github.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
logs.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
matrix.nix matrix: drop the per-agent matrix.enable; accounts are the enable signal 2026-09-18 10:35:16 +02:00
mcp.nix matrix: drop the per-agent matrix.enable; accounts are the enable signal 2026-09-18 10:35:16 +02:00
network.nix agent-modules/network: accept unicast DHCP renewal replies unconditionally 2026-09-16 19:54:41 +02:00
otel.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
packages.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
queue.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
renamed-options.nix matrix: drop the per-agent matrix.enable; accounts are the enable signal 2026-09-18 10:35:16 +02:00
screen.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
user.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
weston-vnc.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00