Containers
Nix
Instala OpenClaw declarativamente con nix-openclaw: el módulo Home Manager oficial y con todo incluido.
Qué obtienes
- Gateway + app de macOS + herramientas (whisper, spotify, cameras), todo fijado
- Servicio launchd que sobrevive a los reinicios
- Sistema de Plugin con configuración declarativa
- Reversión instantánea:
home-manager switch --rollback
Inicio rápido
Instalar Determinate Nix
Si Nix aún no está instalado, sigue las instrucciones del instalador Determinate Nix.
Crear un flake local
Usa la plantilla agent-first del repositorio nix-openclaw:
mkdir -p ~/code/openclaw-local
# Copy templates/agent-first/flake.nix from the nix-openclaw repo
Configurar secretos
Configura el token de tu bot de mensajería y la clave de API del proveedor de modelos. Los archivos planos en ~/.secrets/ funcionan bien.
Completar los marcadores de posición de la plantilla y cambiar
home-manager switch
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 ejecución en modo Nix
Cuando se establece OPENCLAW_NIX_MODE=1 (automático con nix-openclaw), OpenClaw entra en un modo determinista para instalaciones administradas 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 de GUI no hereda automáticamente las variables de entorno del shell. Habilita el modo Nix mediante defaults en su lugar:
defaults write ai.openclaw.mac openclaw.nixMode -bool true
Qué cambia en el modo Nix
- Los flujos de instalación automática y automodificación están deshabilitados
openclaw.jsonse trata como inmutable. Los valores predeterminados derivados del arranque permanecen solo en tiempo de ejecución, y los escritores de configuración como setup, onboarding,openclaw updatemutante, instalación/actualización/desinstalación/habilitación de Plugin,doctor --fix,doctor --generate-gateway-tokenyopenclaw config setse niegan a editar el archivo.- Los agentes deben editar la fuente de Nix en su lugar. Para nix-openclaw, usa el Inicio rápido agent-first y define la configuración en
programs.openclaw.configoinstances.<name>.config. - Las dependencias faltantes muestran mensajes de correcció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. Al ejecutarse bajo Nix, establece estas rutas explícitamente en ubicaciones administradas por Nix para que el estado de ejecución y la configuración queden fuera del almacén inmutable.
| Variable | Predeterminado |
|---|---|
OPENCLAW_HOME |
HOME / USERPROFILE / os.homedir() |
OPENCLAW_STATE_DIR |
~/.openclaw |
OPENCLAW_CONFIG_PATH |
$OPENCLAW_STATE_DIR/openclaw.json |
Detección de PATH del servicio
El servicio Gateway de launchd/systemd descubre automáticamente los binarios del perfil de Nix para que los plugins y herramientas que invocan ejecutables instalados con nix mediante shell funcionen sin configurar PATH manualmente:
- Cuando
NIX_PROFILESestá 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 elemento más a la derecha). - Cuando
NIX_PROFILESno está establecido,~/.nix-profile/binse añade como alternativa.
Esto se aplica tanto a los entornos de servicio launchd de macOS como systemd de Linux.
Relacionado
Módulo Home Manager de referencia y guía completa de configuración.
Guía paso a paso de configuración de CLI sin Nix.
Configuración en contenedor como alternativa sin Nix.
Actualización de instalaciones administradas por Home Manager junto con el paquete.