Nix
The flake lives in deploy/nix of the repository. It provides packages for x86_64 and
aarch64 Linux and macOS, and a NixOS module.
NixOS module
Section titled “NixOS module”{ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.frogg.url = "github:frogg-app/frogg?dir=deploy/nix";
outputs = { nixpkgs, frogg, ... }: { nixosConfigurations.build-box = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ frogg.nixosModules.default { services.frogg = { enable = true; openFirewall = true; hostnames = [ "build-box.lan" ]; environment.FROGG_LOG_LEVEL = "debug"; settings.daemon.mcp.injectIntoAgents = true; }; } ]; }; };}Options
Section titled “Options”| Option | Default | Meaning |
|---|---|---|
services.frogg.enable |
false |
Run the daemon as a systemd service |
services.frogg.package |
the flake’s package | Package to run |
services.frogg.user, group |
frogg |
Service account |
services.frogg.dataDir |
/var/lib/frogg (or /home/<user>/.frogg for another user) |
FROGG_HOME |
services.frogg.port |
9999 |
Listen port |
services.frogg.listenAddress |
0.0.0.0 |
Listen address |
services.frogg.openFirewall |
false |
Open the port in the firewall |
services.frogg.hostnames |
[] |
Allowed hostnames, or true |
services.frogg.relay.enable |
false |
Connect to a relay (relay.host (required), relay.port (443), relay.useTls (true), relay.publicUseTls). Sets FROGG_RELAY_ENDPOINT, so the app shows the endpoint read-only |
services.frogg.inheritUserEnvironment |
true when user is not frogg |
Give the service the user’s environment, so agent CLIs and logins are found |
services.frogg.environment |
{} |
Extra environment variables |
services.frogg.settings |
{} |
Written to config.json on every start |
Running as your own user
Section titled “Running as your own user”Agents need their CLIs and logins. The simplest setup runs the service as the user who has them:
services.frogg = { enable = true; user = "alice"; group = "users";};With user set, dataDir defaults to /home/alice/.frogg and the service inherits that
user’s environment.
Package only
Section titled “Package only”nix build "github:frogg-app/frogg?dir=deploy/nix"./result/bin/frogg --versionThe package installs frogg and frogg-server.
Dependency hash
Section titled “Dependency hash”npmDepsHash is read from deploy/nix/npm-deps.hash. If your nixpkgs produces a different
hash for the same lockfile, override it:
frogg.packages.x86_64-linux.default.override { npmDepsHash = "sha256-..."; }For branded daemons, see Nix for custom brands.