Containers

Nix

Instale o OpenClaw declarativamente com o nix-openclaw, o módulo oficial e completo do Home Manager.

O que você obtém

  • Gateway + aplicativo para macOS + ferramentas (whisper, spotify, câmeras), todos com versões fixadas
  • Serviço launchd que continua funcionando após reinicializações
  • Sistema de Plugins com configuração declarativa
  • Reversão instantânea: home-manager switch --rollback

Início rápido

  • Instalar o Determinate Nix

    Se o Nix ainda não estiver instalado, siga as instruções do instalador do Determinate Nix.

  • Criar um flake local

    Use o modelo voltado para agentes do repositório nix-openclaw:

    bash
    mkdir -p ~/code/openclaw-local# Copie templates/agent-first/flake.nix do repositório nix-openclaw
  • Configurar segredos

    Configure o token do bot de mensagens e a chave de API do provedor de modelos. Arquivos simples em ~/.secrets/ funcionam normalmente.

  • Preencher os espaços reservados do modelo e aplicar

    bash
    home-manager switch
  • Verificar

    Confirme se o serviço launchd está em execução e se o bot responde às mensagens.

  • Consulte o README do nix-openclaw para ver todas as opções e exemplos do módulo.

    Comportamento do ambiente de execução no modo Nix

    Quando OPENCLAW_NIX_MODE=1 está definido (automaticamente com o nix-openclaw), o OpenClaw entra em um modo determinístico para instalações gerenciadas pelo Nix. Outros pacotes Nix podem definir o mesmo modo; o nix-openclaw é a referência oficial.

    Você também pode defini-lo manualmente:

    bash
    export OPENCLAW_NIX_MODE=1

    No macOS, o aplicativo com interface gráfica não herda as variáveis de ambiente do shell. Em vez disso, ative o modo Nix por meio de defaults:

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

    O que muda no modo Nix

    • Os fluxos de instalação automática e automodificação são desativados.
    • O arquivo openclaw.json é tratado como imutável. Os padrões derivados durante a inicialização permanecem apenas no ambiente de execução, e os gravadores de configuração (configuração, integração inicial, openclaw update com alterações, instalação/atualização/desinstalação/ativação de Plugins, doctor --fix, doctor --generate-gateway-token, openclaw config set) se recusam a editar o arquivo.
    • Em vez disso, edite o código-fonte Nix. Para o nix-openclaw, use o Início rápido voltado para agentes e defina a configuração em programs.openclaw.config ou instances.<name>.config.
    • Dependências ausentes exibem mensagens de correção específicas do Nix.
    • A interface exibe um banner de modo Nix somente leitura.

    Caminhos de configuração e estado

    O OpenClaw lê a configuração JSON5 de OPENCLAW_CONFIG_PATH e armazena dados mutáveis em OPENCLAW_STATE_DIR. No Nix, defina-os explicitamente como locais gerenciados pelo Nix para que o estado do ambiente de execução e a configuração permaneçam fora do armazenamento imutável.

    Variável Padrão
    OPENCLAW_HOME HOME / USERPROFILE / os.homedir()
    OPENCLAW_STATE_DIR ~/.openclaw
    OPENCLAW_CONFIG_PATH $OPENCLAW_STATE_DIR/openclaw.json

    Descoberta do PATH do serviço

    O serviço Gateway do launchd/systemd descobre automaticamente os binários dos perfis Nix para que Plugins e ferramentas que executam externamente executáveis instalados pelo nix funcionem sem configuração manual do PATH:

    • Quando NIX_PROFILES está definido, cada entrada é adicionada ao PATH do serviço com precedência da direita para a esquerda (corresponde à precedência do shell do Nix: a entrada mais à direita prevalece).
    • Quando NIX_PROFILES não está definido, ~/.nix-profile/bin é adicionado como alternativa.

    Isso se aplica aos ambientes de serviço do launchd no macOS e do systemd no Linux.

    Relacionados

    Was this useful?
    On this page

    On this page