Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
33
Nix-darwin/NixOS service module wrapping [nix-openclaw](https://github.com/openclaw/nix-openclaw) for Telegram AI assistant.
Sign in to like and favorite skills
Nix-darwin/NixOS service module wrapping nix-openclaw for Telegram AI assistant.
modules/services/openclaw/ ├── default.nix # Module definition └── AGENTS.md # This file config/openclaw/documents/ ├── AGENTS.md # Bot behavior instructions ├── SOUL.md # Bot personality └── TOOLS.md # Available tools reference
nix-openclaw.homeManagerModules.openclawhome-manager.sharedModules in flake.nix (required for lib.hm access)modules.services.openclaw.* (wraps home-manager.users.${user}.programs.openclaw)com.steipete.openclaw.gatewayopenclaw-gateway# This module's options (modules/services/openclaw) modules.services.openclaw.enable modules.services.openclaw.gatewayToken # Auth token for gateway modules.services.openclaw.telegram.{enable, botTokenFile, allowFrom} modules.services.openclaw.plugins # Custom plugins ({ source = "github:..."; }) modules.services.openclaw.firstParty # First-party plugin toggles # Maps to home-manager options home-manager.users.${user}.programs.openclaw = { enable = true; documents = ../../config/openclaw/documents; config = { gateway = { mode = "local"; auth.token = "..."; }; channels.telegram = { tokenFile = "..."; allowFrom = [...]; groups."*".requireMention = true; }; }; firstParty.zele.enable = true; plugins = [{ source = "github:..."; }]; instances.default = { enable = true; }; };
Default paths (plain files):
~/.secrets/telegram-bot-token# macOS - Check launchd service launchctl print gui/$(id -u)/com.steipete.openclaw.gateway | grep state # Linux - Check systemd service systemctl --user status openclaw-gateway # View logs tail -f /tmp/openclaw/openclaw-gateway.log # macOS journalctl --user -u openclaw-gateway -f # Linux
Python conflict: Openclaw bundles whisper (voice transcription) which includes Python 3.13. This conflicts with:
modules.dev.python.enable = true (direct Python env collision)modules.editors.emacs +jupyter featureError:
pkgs.buildEnv error: two given paths contain a conflicting subpath: .../pydoc3.13
Workaround: Python module disabled where openclaw is enabled.
Missing hasown module:
openclaw-gateway crashes with Cannot find module 'hasown' (form-data). Fix is in flake.nix overlay adding node_modules/hasown.
modules.services.openclaw.firstParty.zele.enable = true;modules.services.openclaw.plugins (customPlugins)/run/agenix/zele-client-secret (Google OAuth client secret JSON)/run/agenix/linear-api-token (Linear API key)gog auth credentials /run/agenix/zele-client-secretgog auth add [email protected] --services gmail,calendarflake.nix - nix-openclaw input and home-manager.sharedModules confighosts/*/default.nix - Enable with services.openclaw.enable = trueconfig/openclaw/documents/ - Bot personality and behavior documents