Skip to content

Conversation

@mikelxc
Copy link

@mikelxc mikelxc commented Jan 21, 2026

Summary

  • Update gateway version from 2026.1.8-2 to 2026.1.16-2
  • Fix multiple missing attributes in defaultInstance that caused errors when using programs.clawdbot.enable = true without explicit instances
  • Enhance update-pins.sh to auto-update version strings in gateway and check derivations

Changes

Version Update

  • Updated rev, hash, and pnpmDepsHash in clawdbot-source.nix
  • Updated version string in clawdbot-gateway.nix and check derivations

Bug Fixes

Added missing attributes to defaultInstance:

  • launchd.label and systemd.unitName (was only inheriting enable)
  • agent block (model and thinkingDefault)
  • gatewayPath and gatewayPnpmDepsHash
  • providers.telegram.groups

Auto-Update Enhancement

Enhanced scripts/update-pins.sh to automatically update version strings in:

  • nix/packages/clawdbot-gateway.nix
  • nix/checks/clawdbot-gateway-tests.nix
  • nix/checks/clawdbot-config-options.nix

This prevents CI failures caused by version mismatches between generated config options and the golden file during automated updates.

Test plan

  • Built clawdbot-gateway package successfully
  • Integrated with nix-darwin/home-manager
  • darwin-rebuild switch completed
  • LaunchAgent running with correct nix paths
  • Gateway starts and connects to Telegram
  • Verified perl regex for version replacement works correctly
  • Verified bash syntax of update-pins.sh

🤖 Generated with Claude Code

mikelxc and others added 7 commits January 20, 2026 21:57
- Update rev to be37b39782e0799ba5b9533561de6d128d50c863
- Update source hash
- Update pnpmDepsHash

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The defaultInstance was missing required attributes that are expected
by the instance module:
- launchd.label (was only inheriting enable from cfg.launchd)
- systemd.unitName (was only inheriting enable from cfg.systemd)
- agent (model and thinkingDefault)

This caused errors when using the simple `programs.clawdbot.enable = true`
configuration without explicit instances.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
These attributes are required by mkInstanceConfig but were missing from
the defaultInstance definition, causing build errors when using the
simple configuration without explicit instances.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The top-level providers.telegram doesn't include groups, but the
instance module expects it. Add default empty groups.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Missed updating the version in clawdbot-gateway-tests.nix and
clawdbot-config-options.nix check derivations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The config schema changed in v2026.1.16-2:
- Removed perplexity from web search providers
- Removed dev channel from update options
- Various other schema changes

Generated from clawdbot source using generate-config-options.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The script now updates version strings in gateway and check derivations
when syncing to a new release tag. This prevents CI failures caused by
version mismatches between the generated config options and the golden
file.

Files updated:
- nix/packages/clawdbot-gateway.nix
- nix/checks/clawdbot-gateway-tests.nix
- nix/checks/clawdbot-config-options.nix

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@mikelxc mikelxc changed the title Update gateway version to 2026.1.16-2 and fix defaultInstance bugs Update gateway version to 2026.1.16-2, fix defaultInstance bugs, and enhance auto-update Jan 21, 2026
@mikelxc mikelxc force-pushed the fix/version-update-and-node-path branch from 808d62e to 813b66a Compare January 24, 2026 20:47
@mikelxc mikelxc changed the title Update gateway version to 2026.1.16-2, fix defaultInstance bugs, and enhance auto-update Update gateway version to 2026.1.23, fix defaultInstance bugs, and enhance auto-update Jan 24, 2026
Fixes moltbot#6

- Copy extensions/ directory for channel plugins (Telegram, Discord, etc.)
- Copy docs/reference/templates/ for workspace initialization

Without these directories, channel plugins don't load and workspace
initialization fails with missing template errors.
dominicnunez added a commit to dominicnunez/clawdbot-nix that referenced this pull request Jan 24, 2026
…tbot#10

Incorporates fixes from upstream nix-clawdbot PRs:

- Add aarch64-linux to supported systems (PR #3, moltbot#10)
- Expose agent-first template in flake outputs (PR #2)
- Update schema: telegram -> channels.telegram, byProvider -> byChannel (PR moltbot#9, moltbot#10)
- Fix defaultInstance missing attributes: agent, gatewayPath, launchd/systemd labels (PR moltbot#7)
- Use resolvePath for systemd service paths to handle ~ expansion (PR moltbot#10)
- Default macOS-only first-party plugins (summarize, peekaboo) to disabled on Linux (PR moltbot#9)
Add launchd.useAppRunner option that creates a minimal .app bundle to run
the gateway. This allows granting Full Disk Access (FDA) to the gateway
process, which is required for iMessage support (imsg needs to read
Messages.db).

When enabled:
1. A 'Clawdbot Gateway Runner.app' is installed to ~/Applications/
2. The LaunchAgent runs the app's executable directly
3. User grants FDA to the app in System Settings

New files:
- nix/packages/clawdbot-gateway-runner.nix: Minimal .app bundle builder

New options:
- launchd.useAppRunner: Enable the app runner (default: false)
- launchd.appRunnerPath: Installation path for the app
FDA checks the actual binary path, not symlink targets. When home-manager
symlinks the .app bundle to Nix store, FDA granted to ~/Applications/...
doesn't apply because the actual binary is in /nix/store/...

Now using activation script to copy the entire .app bundle, ensuring the
binary exists at the FDA-granted path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant