The merge of #676 (commit 0951cd1) landed the role-driven harness service
in `harness-base.nix` but the rebase resolution accidentally kept the
legacy `systemd.services.hive-ag3nt` / `hive-m1nd` blocks in
agent-base.nix and manager.nix. Module merging silently accepts the
duplicate definitions because they evaluate to identical attrs — but
the whole point of #671 was to single-source the systemd unit + manager
forge defaults.
Collapses both templates to bare role-setters as originally intended:
{ ... }: {
imports = [ ./harness-base.nix ];
hyperhive.role = "agent"; # or "manager"
}
Verified post-collapse:
- `nixosConfigurations.agent-base.config.systemd.services.hive-ag3nt
.serviceConfig.ExecStart` -> `.../bin/hive-ag3nt serve`
- `nixosConfigurations.manager.config.systemd.services.hive-m1nd
.serviceConfig.ExecStart` -> `.../bin/hive-m1nd serve`
- `agent-base` `.path` is `[ /run/wrappers/bin /run/current-system/sw ... ]`
- `manager` `.environment.HIVE_PORT` is `"8000"`
Follow-up to #671 (#676). No behaviour change — the duplicate
definitions were merging to the same values; this just deletes the
redundant copies so `harness-base.nix` is the true single source.
15 lines
662 B
Nix
15 lines
662 B
Nix
{ ... }:
|
|
{
|
|
imports = [ ./harness-base.nix ];
|
|
|
|
# Manager role: the role-driven `systemd.services.hive-m1nd` plus
|
|
# the manager-only forge defaults (`keepSubscriptions = false`,
|
|
# `skipNotifyReasons = [ "subscribed" "participating" ]`) live in
|
|
# `harness-base.nix` under `lib.mkIf (config.hyperhive.role ==
|
|
# "manager")`. This file is the bare entry-point referenced from
|
|
# `flake.nix` (`nixosConfigurations.manager`) and the meta-flake's
|
|
# `applied/hm1nd/flake.nix`. HIVE_PORT / HIVE_LABEL are injected by
|
|
# the meta-flake at deploy time and have manager-only standalone-eval
|
|
# fallbacks in `harness-base.nix`.
|
|
hyperhive.role = "manager";
|
|
}
|