Core tools for clawdbot. Batteries included. Always fresh.
Nix packaging for Peter Steinberger's tools, with per-tool clawdbot plugins. Part of the nix-clawdbot ecosystem.
Darwin/aarch64 plus Linux (x86_64/aarch64) for tools that ship Linux builds.
On Linux, summarize is built from source (Node 22 + pnpm) since upstream only ships a macOS Bun binary.
These tools are essential for a capable clawdbot instance - screen capture, camera access, TTS, messaging. Packaging them as Nix flakes with clawdbot plugin metadata means:
home-manager switch, done| Tool | What it does |
|---|---|
| summarize | Link → clean text → summary |
| gogcli | Google CLI for Gmail, Calendar, Drive, and Contacts |
| camsnap | Capture snapshots/clips from RTSP/ONVIF cameras |
| sonoscli | Control Sonos speakers |
| bird | Fast X CLI for tweeting, replying, and reading |
| peekaboo | Lightning-fast macOS screenshots & AI vision analysis |
| poltergeist | Universal file watcher with auto-rebuild |
| sag | Command-line ElevenLabs TTS with mac-style flags |
| imsg | iMessage/SMS CLI |
| oracle | Bundle prompts + files for AI queries |
Each tool is a subflake under tools/<tool>/ exporting clawdbotPlugin. Point your nix-clawdbot config at the tool you want:
programs.clawdbot.plugins = [ { source = "github:clawdbot/nix-steipete-tools?dir=tools/camsnap"; } { source = "github:clawdbot/nix-steipete-tools?dir=tools/peekaboo"; } { source = "github:clawdbot/nix-steipete-tools?dir=tools/summarize"; } ];
Each plugin bundles:
If you just want the binaries without the plugin wrapper:
inputs.nix-steipete-tools.url = "github:clawdbot/nix-steipete-tools"; # Then use: inputs.nix-steipete-tools.packages.aarch64-darwin.camsnap inputs.nix-steipete-tools.packages.aarch64-darwin.peekaboo # etc. # Linux examples: inputs.nix-steipete-tools.packages.x86_64-linux.camsnap inputs.nix-steipete-tools.packages.aarch64-linux.gogcli inputs.nix-steipete-tools.packages.x86_64-linux.summarize
Skills are vendored from clawdbot/clawdbot main branch. No pinning - we track latest.
go run ./cmd/sync-skills
Pulls latest main via sparse checkout, only updates files when contents actually change.
Tools track upstream GitHub releases directly (not Homebrew).
go run ./cmd/update-tools
Fetches latest release versions/URLs/hashes and updates the Nix expressions. Oracle uses pnpm and auto-derives its hash via build mismatch.
| Workflow | Schedule | What it does |
|---|---|---|
| sync-skills | Every 30 min | Pulls latest skills from clawdbot main |
| update-tools | Every 10 min | Checks for new tool releases |
| Garnix | On push | Builds all packages via checks.* (darwin + linux) |
Automated PRs keep everything fresh without manual intervention.
Tools are packaged as-is from upstream. See individual tool repos for their licenses.
Nix packaging: MIT