Instalacao via Nix

A forma recomendada de executar o OpenClaw com Nix e via nix-openclaw — um modulo Home Manager completo.

Inicio Rapido

Cole isso para seu agente 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, model provider API 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.

📦 Guia completo: github.com/openclaw/nix-openclaw

O repositorio nix-openclaw e a referencia para a instalacao via Nix. Esta pagina e apenas uma visao geral rapida.

O que voce recebe

  • Gateway + app macOS + ferramentas (whisper, spotify, cameras) — tudo pinado
  • Servico launchd que sobrevive a reinicializacoes
  • Sistema de plugins com configuracao declarativa
  • Rollback instantaneo: home-manager switch --rollback

Comportamento do runtime em modo Nix

Quando OPENCLAW_NIX_MODE=1 esta definido (automatico com nix-openclaw):

O OpenClaw suporta um modo Nix que torna a configuracao deterministica e desabilita fluxos de auto-instalacao. Ative exportando:

OPENCLAW_NIX_MODE=1

No macOS, o app grafico nao herda automaticamente variaveis de ambiente do shell. Voce tambem pode ativar o modo Nix via defaults:

defaults write ai.openclaw.mac openclaw.nixMode -bool true

Caminhos de configuracao e estado

O OpenClaw le a configuracao JSON5 de OPENCLAW_CONFIG_PATH e armazena dados mutaveis em OPENCLAW_STATE_DIR. Quando necessario, voce tambem pode definir OPENCLAW_HOME para controlar o diretorio base usado para resolucao de caminhos internos.

  • OPENCLAW_HOME (precedencia padrao: HOME / USERPROFILE / os.homedir())
  • OPENCLAW_STATE_DIR (padrao: ~/.openclaw)
  • OPENCLAW_CONFIG_PATH (padrao: $OPENCLAW_STATE_DIR/openclaw.json)

Ao executar sob Nix, defina-os explicitamente para localizacoes gerenciadas pelo Nix para que o estado de runtime e a configuracao fiquem fora do store imutavel.

Comportamento de runtime no modo Nix

  • Fluxos de auto-instalacao e auto-mutacao sao desabilitados
  • Dependencias ausentes mostram mensagens de remediacao especificas do Nix
  • A interface mostra um banner de modo Nix somente-leitura quando presente

Nota sobre empacotamento (macOS)

O fluxo de empacotamento macOS espera um template Info.plist estavel em:

apps/macos/Sources/OpenClaw/Resources/Info.plist

scripts/package-mac-app.sh copia este template para o bundle do app e aplica patches nos campos dinamicos (bundle ID, versao/build, Git SHA, chaves Sparkle). Isso mantem o plist deterministico para empacotamento SwiftPM e builds Nix (que nao dependem de uma toolchain Xcode completa).

Relacionados