Skip to content

Deployment

NixOS module

The flake exposes a NixOS module:

# flake.nix
{
  inputs.agent-daemon.url = "github:lambdasistemi/agent-daemon";

  outputs = { nixpkgs, agent-daemon, ... }: {
    nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
      modules = [
        agent-daemon.nixosModules.default
        {
          services.agent-daemon = {
            enable = true;
            host = "127.0.0.1";
            port = 8080;
            baseDir = "/code";
          };
        }
      ];
    };
  };
}

By default the module creates a dedicated agent-daemon system user. To run as an existing user instead:

services.agent-daemon = {
  enable = true;
  host = "127.0.0.1";
  port = 8080;
  baseDir = "/code";
  user = "paolino";
  group = "users";
  createUser = false;
};

Module options

Option Type Default Description
enable bool false Enable the service
host string "*" Address to bind to
port port 8080 HTTP port
baseDir path /var/lib/agent-daemon Root for worktrees
staticDir path (from flake) Web UI files
package package (from flake) The binary to use
user string "agent-daemon" User to run as
group string "agent-daemon" Group to run as
createUser bool true Create a dedicated system user

Systemd (manual)

If you're not on NixOS, create a unit file:

# /etc/systemd/system/agent-daemon.service
[Unit]
Description=Agent daemon — Claude Code session manager
After=network.target

[Service]
Type=simple
User=paolino
Group=users
WorkingDirectory=/code
ExecStart=/usr/local/bin/agent-daemon \
  --host 127.0.0.1 \
  --port 8080 \
  --base-dir /code \
  --static-dir /usr/local/share/agent-daemon/static
Restart=on-failure
RestartSec=5
Environment=PATH=/usr/bin:/usr/local/bin

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now agent-daemon
journalctl -u agent-daemon -f   # watch logs

Direct binary

Build with nix and copy the binary:

nix build .#default
# result/bin/agent-daemon

# Or run directly:
nix run .#default -- --host 127.0.0.1 --port 8080 --base-dir /code