Saltar al contenido principal

Instalación con Nix

La forma recomendada de ejecutar OpenClaw con Nix es mediante nix-openclaw — un módulo de Home Manager con todo incluido.

Inicio rápido

Pegue esto en su agente de IA (Claude, Cursor, etc.):
I want to set up nix-openclaw on my Mac.
Repository: github:openclaw/nix-openclaw

What I need you to do:
1. Check if Determinate Nix is installed (if not, install it)
2. Create a local flake at ~/code/openclaw-local using templates/agent-first/flake.nix
3. Help me create a Telegram bot (@BotFather) and get my chat ID (@userinfobot)
4. Set up secrets (bot token, Anthropic key) - plain files at ~/.secrets/ is fine
5. Fill in the template placeholders and run home-manager switch
6. Verify: launchd running, bot responds to messages

Reference the nix-openclaw README for module options.
📦 Guía completa: github.com/openclaw/nix-openclaw El repositorio nix-openclaw es la fuente de verdad para la instalación con Nix. Esta página es solo un resumen rápido.

Lo que obtiene

  • Gateway + app de macOS + herramientas (whisper, spotify, cámaras) — todo fijado
  • Servicio Launchd que persiste tras reinicios
  • Sistema de plugins con configuración declarativa
  • Reversión instantánea: home-manager switch --rollback

Comportamiento en tiempo de ejecución del modo Nix

Cuando se establece OPENCLAW_NIX_MODE=1 (automático con nix-openclaw): OpenClaw admite un modo Nix que hace la configuración determinista y desactiva los flujos de auto-instalación. Actívelo exportando:
OPENCLAW_NIX_MODE=1
En macOS, la app GUI no hereda automáticamente las variables de entorno del shell. También puede habilitar el modo Nix mediante defaults:
defaults write bot.molt.mac openclaw.nixMode -bool true

Rutas de configuración y estado

OpenClaw lee la configuración JSON5 desde OPENCLAW_CONFIG_PATH y almacena los datos mutables en OPENCLAW_STATE_DIR. Cuando sea necesario, también puedes establecer OPENCLAW_HOME para controlar el directorio home base utilizado para la resolución interna de rutas.
  • OPENCLAW_HOME (precedencia por defecto: HOME / USERPROFILE / os.homedir())
  • OPENCLAW_STATE_DIR (predeterminado: ~/.openclaw)
  • OPENCLAW_CONFIG_PATH (predeterminado: $OPENCLAW_STATE_DIR/openclaw.json)
Al ejecutarse bajo Nix, configure estas rutas explícitamente a ubicaciones gestionadas por Nix para que el estado en tiempo de ejecución y la configuración se mantengan fuera del store inmutable.

Comportamiento en tiempo de ejecución en modo Nix

  • Los flujos de auto-instalación y auto-mutación están deshabilitados
  • Las dependencias faltantes muestran mensajes de remediación específicos de Nix
  • La UI muestra un banner de modo Nix de solo lectura cuando está presente

Nota de empaquetado (macOS)

El flujo de empaquetado de macOS espera una plantilla Info.plist estable en:
apps/macos/Sources/OpenClaw/Resources/Info.plist
scripts/package-mac-app.sh copia esta plantilla dentro del bundle de la app y parchea campos dinámicos (ID del bundle, versión/build, SHA de Git, claves de Sparkle). Esto mantiene el plist determinista para el empaquetado con SwiftPM y las compilaciones con Nix (que no dependen de un toolchain completo de Xcode).

Relacionado

  • nix-openclaw — guía completa de configuración
  • Wizard — configuración de la CLI sin Nix
  • Docker — configuración en contenedores