Saltar para o conteúdo principal

Instalacao com Nix

A forma recomendada de executar o OpenClaw com Nix e por meio do nix-openclaw — um modulo do Home Manager com tudo incluido.

Inicio Rapido

Cole isto no seu agente de 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, Anthropic 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 repo nix-openclaw e a fonte da verdade para a instalacao com Nix. Esta pagina e apenas uma visao geral rapida.

O que voce recebe

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

Comportamento de Runtime no Modo Nix

Quando OPENCLAW_NIX_MODE=1 esta definido (automatico com nix-openclaw): O OpenClaw oferece um modo Nix que torna a configuracao deterministica e desativa fluxos de auto-instalacao. Ative exportando:
OPENCLAW_NIX_MODE=1
No macOS, o app de GUI nao herda automaticamente variaveis de ambiente do shell. Voce tambem pode ativar o modo Nix via defaults:
defaults write bot.molt.mac openclaw.nixMode -bool true

Caminhos de configuracao + estado

O OpenClaw le configuracao JSON5 de OPENCLAW_CONFIG_PATH e armazena dados mutaveis em OPENCLAW_STATE_DIR. Quando necessário, você também pode definir OPENCLAW_HOME para controlar o diretório home base usado para a resolução interna de caminhos.
  • OPENCLAW_HOME (precedência padrão: HOME / USERPROFILE / os.homedir())
  • OPENCLAW_STATE_DIR (padrao: ~/.openclaw)
  • OPENCLAW_CONFIG_PATH (padrao: $OPENCLAW_STATE_DIR/openclaw.json)
Ao executar sob Nix, defina estes explicitamente para locais gerenciados 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 desativados
  • Dependencias ausentes exibem mensagens de remediacao especificas do Nix
  • A UI exibe um banner de modo Nix somente leitura quando presente

Nota de empacotamento (macOS)

O fluxo de empacotamento do macOS espera um template Info.plist estavel em:
apps/macos/Sources/OpenClaw/Resources/Info.plist
scripts/package-mac-app.sh copia este template para dentro do bundle do app e aplica patches nos campos dinamicos (ID do bundle, versao/build, SHA do Git, chaves do Sparkle). Isso mantem o plist deterministico para empacotamento com SwiftPM e builds do Nix (que nao dependem de uma toolchain completa do Xcode).

Relacionado

  • nix-openclaw — guia completo de configuracao
  • Wizard — configuracao da CLI sem Nix
  • Docker — configuracao em contêiner