Skip to content

moltbot/nix-steipete-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nix-steipete-tools

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.

Why this exists

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:

  • Reproducible: Pinned versions, no Homebrew drift
  • Declarative: Add a plugin, home-manager switch, done
  • Fresh: CI keeps tools and skills at latest automatically
  • Integrated: Skills teach your bot how to use each tool

What's included

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

Usage (as clawdbot plugins)

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:

  • The tool binary (on PATH)
  • A skill (SKILL.md) so your bot knows how to use it
  • Any required state dirs / env declarations

Usage (packages only)

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 syncing

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.

Tool updates

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.

CI

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.

License

Tools are packaged as-is from upstream. See individual tool repos for their licenses.

Nix packaging: MIT

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published