Files

36 lines
1.9 KiB
JSON

{
"name": "nixbuild",
"version": "0.2.0",
"description": "Operator surface for the nixbuild.net remote build service. A Haiku ops agent fronts three tools and two skills: nbshell drives nixbuild's interactive admin shell non-interactively (expect+PTY, the only way — its HTTP API is read-only and plain ssh stdin yields nothing), nbapi reads the metered account's usage/builds/storage over https://api.nixbuild.net, and nb-substituters manages account substituters with a guard for nixbuild's rejection of path-style cache URLs. Skills encode the settings workflow (substituters, trusted-public-keys, ssh-keys) and the usage/cost workflow. Encodes hard-won facts: builders-use-substitutes uses the REMOTE's own substituters not the client's; Attic's path-style URL is rejected so it must be reached path-less (e.g. via a Caddy root-rewrite); the admin shell needs a real PTY (ssh -T stdin is silent, ssh -tt is rejected, shell-as-ssh-args hits the build-runner channel needing run:write).",
"author": {
"name": "oleks",
"email": "plugins@oleks.space"
},
"repository": "https://claude-plugins.oleks.space/plugins/nixbuild.git",
"license": "MIT",
"keywords": [
"nixbuild",
"nix",
"remote-builder",
"binary-cache",
"substituters",
"attic",
"ncps",
"ops"
],
"userConfig": {
"ssh_host": {
"type": "string",
"title": "nixbuild SSH host",
"description": "SSH host alias for nixbuild.net's admin/build endpoint. The matching IdentityFile must be registered on the account and have admin permissions for settings changes.",
"default": "eu.nixbuild.net"
},
"api_token_pass_entry": {
"type": "string",
"title": "API token pass entry",
"description": "pass(1) store path holding the nixbuild.net HTTP API bearer token (https://api.nixbuild.net). Overridden by the NIXBUILD_API_TOKEN env var if set.",
"default": "infra/nixbuild/api-token"
}
}
}