Containers
Nix
Instala OpenClaw de forma declarativa con nix-openclaw, el módulo oficial de Home Manager que incluye todo lo necesario.
Qué obtienes
- Gateway + aplicación para macOS + herramientas (whisper, spotify, cámaras), todo con versiones fijadas
- Servicio launchd que se mantiene tras los reinicios
- Sistema de Plugins 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 de Determinate Nix.
Crear un flake local
Usa la plantilla orientada a agentes del repositorio nix-openclaw:
mkdir -p ~/code/openclaw-local# Copia templates/agent-first/flake.nix desde el repositorio nix-openclawConfigurar secretos
Configura el token de tu bot de mensajería y la clave de API del proveedor de modelos. Los archivos de texto sin formato en ~/.secrets/ funcionan correctamente.
Completar los marcadores de posición de la plantilla y aplicar
home-manager switchVerificar
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 del entorno de ejecución en modo Nix
Cuando se establece OPENCLAW_NIX_MODE=1 (automáticamente con nix-openclaw), OpenClaw entra en un modo determinista para las 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=1En macOS, la aplicación con interfaz gráfica no hereda las variables de entorno del shell. En su lugar, activa el modo Nix mediante defaults:
defaults write ai.openclaw.mac openclaw.nixMode -bool trueQué cambia en el modo Nix
- Los flujos de instalación automática y modificación propia están desactivados.
openclaw.jsonse considera inmutable. Los valores predeterminados derivados durante el inicio solo se mantienen en el entorno de ejecución, y los procesos que escriben la configuración (configuración inicial, incorporación,openclaw updatecon modificaciones, instalación/actualización/desinstalación/activación de Plugins,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, utiliza el inicio rápido orientado a agentes y establece la configuración en
programs.openclaw.configoinstances.<name>.config. - Las dependencias que faltan generan mensajes de corrección específicos de Nix.
- La interfaz de usuario muestra un aviso de modo Nix de solo lectura.
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. En Nix, establece estas rutas explícitamente en ubicaciones administradas por Nix para que el estado del entorno de ejecución y la configuración permanezcan fuera del almacén inmutable.
| Variable | Valor 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 detecta automáticamente los binarios de los perfiles de Nix para que los Plugins y las herramientas que invocan ejecutables instalados con nix funcionen sin configurar manualmente PATH:
- Cuando se establece
NIX_PROFILES, cada entrada se añade al PATH del servicio con precedencia de derecha a izquierda (coincide con la precedencia del shell de Nix: prevalece la entrada situada más a la derecha). - Cuando
NIX_PROFILESno está establecido, se añade~/.nix-profile/bincomo alternativa.
Esto se aplica tanto a los entornos de servicio launchd de macOS como a los de systemd de Linux.
Contenido relacionado
Módulo de Home Manager de referencia y guía de configuración completa.
Guía paso a paso para la configuración mediante la CLI sin Nix.
Configuración en contenedores como alternativa sin Nix.
Actualización de las instalaciones administradas por Home Manager junto con el paquete.