Saltar al contenido principal

Instalación con Nix

Instala OpenClaw de forma declarativa con nix-openclaw, un módulo de Home Manager con todo incluido.
El repositorio nix-openclaw es la fuente de verdad para la instalación con Nix. Esta página es un resumen rápido.

Qué obtienes

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

Inicio rápido

1

Instala Determinate Nix

Si Nix aún no está instalado, sigue las instrucciones del instalador de Determinate Nix.
2

Crea un flake local

Usa la plantilla agent-first del repositorio nix-openclaw:
mkdir -p ~/code/openclaw-local
# Copia templates/agent-first/flake.nix del repositorio nix-openclaw
3

Configura secretos

Configura el token de tu bot de mensajería y la API key del proveedor de modelos. Los archivos sin formato en ~/.secrets/ funcionan bien.
4

Rellena los marcadores de posición de la plantilla y aplica los cambios

home-manager switch
5

Verifica

Confirma que el servicio launchd esté en ejecución y que tu bot responda a los mensajes.
Consulta el README de nix-openclaw para ver todas las opciones del módulo y ejemplos.

Comportamiento del tiempo de ejecución en modo Nix

Cuando OPENCLAW_NIX_MODE=1 está definido (automático con nix-openclaw), OpenClaw entra en un modo determinista que deshabilita los flujos de instalación automática. También puedes definirlo manualmente:
export OPENCLAW_NIX_MODE=1
En macOS, la app GUI no hereda automáticamente las variables de entorno del shell. En su lugar, habilita el modo Nix mediante defaults:
defaults write ai.openclaw.mac openclaw.nixMode -bool true

Qué cambia en modo Nix

  • Se deshabilitan los flujos de instalación automática y automutación
  • Las dependencias faltantes muestran mensajes de corrección específicos de Nix
  • La UI muestra un banner de solo lectura para el modo Nix

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. Al ejecutarse bajo Nix, define estos valores explícitamente en ubicaciones gestionadas por Nix para que el estado y la configuración de tiempo de ejecución permanezcan fuera del almacén inmutable.
VariablePredeterminado
OPENCLAW_HOMEHOME / USERPROFILE / os.homedir()
OPENCLAW_STATE_DIR~/.openclaw
OPENCLAW_CONFIG_PATH$OPENCLAW_STATE_DIR/openclaw.json

Relacionado

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