30 lines
848 B
Nix
30 lines
848 B
Nix
{ pkgs, ... }:
|
|
{
|
|
boot.isNspawnContainer = true;
|
|
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) [ "claude-code" ];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
hyperhive
|
|
claude-code
|
|
git
|
|
coreutils-full
|
|
];
|
|
|
|
systemd.services.hive-ag3nt = {
|
|
description = "hive-ag3nt harness";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
# The harness shells out to `claude` (turn loop + login flow). systemd
|
|
# units get a minimal PATH by default, so we have to put claude-code on
|
|
# it explicitly even though it's in environment.systemPackages above.
|
|
path = [ pkgs.claude-code ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.hyperhive}/bin/hive-ag3nt serve";
|
|
Restart = "on-failure";
|
|
RestartSec = 2;
|
|
};
|
|
};
|
|
|
|
system.stateVersion = "25.11";
|
|
}
|