- harness-base.nix: switch to programs.git for declarative gitconfig. - agent + manager service path = /run/current-system/sw → agents pick up new packages from their own agent.nix without harness edits. - generated applied/<name>/flake.nix overrides programs.git.config.user (no more raw etc.gitconfig collision).
23 lines
842 B
Nix
23 lines
842 B
Nix
{ pkgs, ... }:
|
|
{
|
|
imports = [ ./harness-base.nix ];
|
|
|
|
systemd.services.hive-ag3nt = {
|
|
description = "hive-ag3nt harness";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
# systemd units get a minimal PATH by default and don't inherit
|
|
# `environment.systemPackages`. Pointing at `/run/current-system/sw`
|
|
# gives the harness (and any tools claude shells out to via Bash)
|
|
# access to everything declared in `systemPackages` — including
|
|
# anything an agent adds to its own `agent.nix` — without having to
|
|
# touch the service definition.
|
|
path = [ "/run/current-system/sw" ];
|
|
environment.SHELL = "${pkgs.bashInteractive}/bin/bash";
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.hyperhive}/bin/hive-ag3nt serve";
|
|
Restart = "on-failure";
|
|
RestartSec = 2;
|
|
};
|
|
};
|
|
}
|