-
-
Notifications
You must be signed in to change notification settings - Fork 49
NixOS and aarch64-linux support #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
What: - Remove hardcoded `/bin/` paths from activation scripts - Use home-manager's `run` function for mkdir and ln commands How: - Change `/bin/mkdir -p` and `/bin/ln -sfn` to `run mkdir -p` and `run ln -sfn` in clawdbotDirs and clawdbotConfigFiles activation blocks Why: - Hardcoded `/bin/mkdir` and `/bin/ln` don't exist on NixOS, where binaries live in the Nix store and are accessed via PATH - Using bare commands (mkdir, ln) works but breaks dry-run mode - `run` is the home-manager 25.11 convention, replacing the deprecated `$DRY_RUN_CMD`. It executes normally but only prints when using `home-manager switch --dry-run` - This matches home-manager's own modules (e.g., xdg-user-dirs.nix) Fixes: clawdbot#5
These attributes were missing from defaultInstanceConfig, causing evaluation failures when using the simple configuration style.
Paths like ~/.clawdbot need to be expanded to absolute paths for systemd, which cannot interpret literal ~.
The gateway now expects telegram config under channels.telegram instead of top-level telegram key.
Upstream renamed messages.queue.byProvider to messages.queue.byChannel.
Had this error before: [telegram] handler failed: Error: Missing workspace template: AGENTS.md
Automatically update version strings in clawdbot-gateway.nix and check derivations when running update-pins.sh, keeping them in sync with the upstream release tag.
…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)
|
@moltbot Any updates on this? nix-clawdbot should have proper nix(os) support ;) |
|
I'll take a look soon - the best way to reach me (and the other maintainers) is on Discord - for this repo, you want the #golden-path-deployments channel. I am also running the bot on NixOS in the server - check https://github.com/moltbot/moltinators for more. It's quite possible everything is very broken at the moment - I had some personal stuff to work on for a while. But now I'm back, first I'll make my bots work, then start looking at PRs/new features etc :) |
|
@joshp123 which Discord? Do you have a link? |
Summary
This PR enables running clawdbot on NixOS systems, particularly aarch64-linux (tested on Hetzner CAX ARM servers).
NixOS compatibility
runfunction instead of hardcoded/bin/mkdir) - addresses Bug: Hardcoded /bin/mkdir and /bin/ln paths fail on NixOS #5~paths in systemd service configaarch64-linux support
aarch64-linuxto supported systems in flakeUpstream schema migrations
channels.telegrambyProvidertobyChannelin routing queue options (similar to fix: disable macOS-only first-party plugins by default on Linux #9)Build fixes
CI improvements
update-pins.sh(similar to Update gateway version to 2026.1.23, fix defaultInstance bugs, and enhance auto-update #7)