[BREAKGLASS] Append-only mirror of github.com/openclaw/nix-openclaw-tools
Go to file
joshp123 7cd25c98bb 🤖 refactor: remove oracle from nix-steipete-tools
What:
- delete oracle package and plugin exports
- remove oracle from tool update and skill sync pipelines
- remove oracle mentions from README

Why:
- oracle is no longer part of the bundled toolchain
- keep package/update surface aligned with active bundled plugins only

Tests:
- go test ./... (pass)
- nix flake check --no-build (pass)
2026-02-17 19:43:35 -08:00
.github/workflows replace shell update scripts with Go tooling 2026-01-04 18:06:45 +01:00
cmd 🤖 refactor: remove oracle from nix-steipete-tools 2026-02-17 19:43:35 -08:00
internal 🤖 refactor: remove oracle from nix-steipete-tools 2026-02-17 19:43:35 -08:00
nix/pkgs 🤖 refactor: remove oracle from nix-steipete-tools 2026-02-17 19:43:35 -08:00
tools 🤖 refactor: remove oracle from nix-steipete-tools 2026-02-17 19:43:35 -08:00
flake.lock init nix-stepiete-tools with summarize 2026-01-04 13:16:38 +01:00
flake.nix 🤖 refactor: remove oracle from nix-steipete-tools 2026-02-17 19:43:35 -08:00
garnix.yaml 🤖 codex: add linux builds (no-issue) 2026-01-08 15:23:59 +01:00
go.mod fix module path for renamed repo 2026-01-04 18:21:36 +01:00
README.md 🤖 refactor: remove oracle from nix-steipete-tools 2026-02-17 19:43:35 -08:00

nix-steipete-tools

Core tools for openclaw. Batteries included. Always fresh.

Nix packaging for Peter Steinberger's tools, with per-tool openclaw plugins. Part of the nix-openclaw 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 openclaw instance - screen capture, camera access, TTS, messaging. Packaging them as Nix flakes with openclaw 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
goplaces Google Places API (New) CLI
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

Usage (as openclaw plugins)

Each tool is a subflake under tools/<tool>/ exporting openclawPlugin. Point your nix-openclaw config at the tool you want:

programs.openclaw.plugins = [
  { source = "github:openclaw/nix-steipete-tools?dir=tools/camsnap"; }
  { source = "github:openclaw/nix-steipete-tools?dir=tools/peekaboo"; }
  { source = "github:openclaw/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:openclaw/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 openclaw/openclaw 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.

CI

Workflow Schedule What it does
sync-skills Every 30 min Pulls latest skills from openclaw 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