Saltar al contenido principal
Instala OpenClaw de forma declarativa con nix-openclaw, el módulo oficial 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, cameras), todo fijado
  • Servicio launchd que sobrevive a reinicios
  • Sistema de Plugin con configuración declarativa
  • Reversión instantánea: home-manager switch --rollback

Inicio rápido

1

Instalar Determinate Nix

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

Crear un flake local

Usa la plantilla centrada en agentes del repositorio nix-openclaw:
mkdir -p ~/code/openclaw-local
# Copy templates/agent-first/flake.nix from the nix-openclaw repo
3

Configurar secretos

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

Rellenar los marcadores de posición de la plantilla y cambiar

home-manager switch
5

Verificar

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 y ejemplos del módulo.

Comportamiento de runtime en modo Nix

Cuando se establece OPENCLAW_NIX_MODE=1 (automático con nix-openclaw), OpenClaw entra en un modo determinista para instalaciones gestionadas por Nix. Otros paquetes de Nix pueden establecer el mismo modo; nix-openclaw es la referencia oficial. También puedes establecerlo manualmente:
export OPENCLAW_NIX_MODE=1
En macOS, la app GUI no hereda 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

  • Los flujos de autoinstalación y automutación están deshabilitados.
  • openclaw.json se trata como inmutable. Los valores predeterminados derivados del inicio permanecen solo en runtime, y los escritores de configuración (configuración inicial, onboarding, openclaw update mutante, instalación/actualización/desinstalación/habilitación de Plugin, doctor --fix, doctor --generate-gateway-token, openclaw config set) se niegan a editar el archivo.
  • Edita la fuente de Nix en su lugar. Para nix-openclaw, usa el Inicio rápido centrado en agentes y establece la configuración en programs.openclaw.config o instances.<name>.config.
  • Las dependencias faltantes muestran mensajes de remediación específicos de Nix.
  • La UI muestra un banner de modo Nix de solo lectura.

Rutas de configuración y estado

OpenClaw lee la configuración JSON5 desde OPENCLAW_CONFIG_PATH y almacena datos mutables en OPENCLAW_STATE_DIR. En Nix, establécelas explícitamente en ubicaciones gestionadas por Nix para que el estado de runtime y la configuración queden fuera del almacén inmutable.
VariableValor predeterminado
OPENCLAW_HOMEHOME / USERPROFILE / os.homedir()
OPENCLAW_STATE_DIR~/.openclaw
OPENCLAW_CONFIG_PATH$OPENCLAW_STATE_DIR/openclaw.json

Descubrimiento de PATH del servicio

El servicio Gateway de launchd/systemd descubre automáticamente los binarios de perfiles de Nix para que los Plugins y herramientas que invocan ejecutables instalados con nix mediante shell funcionen sin configurar PATH manualmente:
  • Cuando NIX_PROFILES está establecido, cada entrada se añade al PATH del servicio con precedencia de derecha a izquierda (coincide con la precedencia del shell de Nix: gana el de más a la derecha).
  • Cuando NIX_PROFILES no está establecido, ~/.nix-profile/bin se añade como alternativa.
Esto se aplica tanto a los entornos de servicio launchd de macOS como systemd de Linux.

Relacionado

nix-openclaw

Módulo de Home Manager fuente de verdad y guía completa de configuración.

Asistente de configuración

Recorrido de configuración de CLI sin Nix.

Docker

Configuración en contenedor como alternativa sin Nix.

Actualización

Actualización de instalaciones gestionadas por Home Manager junto con el paquete.