In questa pagina

In questa pagina

Runtimes

Nix

Installa OpenClaw in modo dichiarativo con nix-openclaw, il modulo Home Manager ufficiale completo di tutto.

Cosa ottieni

  • Gateway + app per macOS + strumenti (whisper, spotify, videocamere), tutti con versioni bloccate
  • Servizio launchd che rimane attivo dopo i riavvii
  • Sistema di Plugin con configurazione dichiarativa
  • Ripristino immediato: home-manager switch --rollback

Avvio rapido

  • Installa Determinate Nix

    Se Nix non è già installato, segui le istruzioni del programma di installazione di Determinate Nix.

  • Crea un flake locale

    Usa il modello orientato agli agenti dal repository nix-openclaw:

    bash
    mkdir -p ~/code/openclaw-local# Copia templates/agent-first/flake.nix dal repository nix-openclaw
  • Configura i segreti

    Configura il token del bot di messaggistica e la chiave API del provider del modello. I normali file in ~/.secrets/ vanno bene.

  • Compila i segnaposto del modello e applica la configurazione

    bash
    home-manager switch
  • Verifica

    Verifica che il servizio launchd sia in esecuzione e che il bot risponda ai messaggi.

  • Consulta il README di nix-openclaw per tutte le opzioni del modulo e gli esempi.

    Comportamento di runtime in modalità Nix

    Quando è impostato OPENCLAW_NIX_MODE=1 (automaticamente con nix-openclaw), OpenClaw entra in una modalità deterministica per le installazioni gestite da Nix. Anche altri pacchetti Nix possono impostare la stessa modalità; nix-openclaw è l'implementazione ufficiale di riferimento.

    Puoi anche impostarla manualmente:

    bash
    export OPENCLAW_NIX_MODE=1

    Su macOS, l'app con interfaccia grafica non eredita le variabili d'ambiente della shell. Abilita invece la modalità Nix tramite defaults:

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

    Cosa cambia in modalità Nix

    • I flussi di installazione automatica e automodifica sono disabilitati.
    • openclaw.json è considerato immutabile. I valori predefiniti derivati all'avvio rimangono disponibili solo durante l'esecuzione e gli strumenti che modificano la configurazione (configurazione iniziale, procedura guidata iniziale, openclaw update con modifiche, installazione/aggiornamento/disinstallazione/abilitazione dei Plugin, doctor --fix, doctor --generate-gateway-token, openclaw config set) si rifiutano di modificare il file.
    • Modifica invece il sorgente Nix. Per nix-openclaw, usa l'Avvio rapido orientato agli agenti e imposta la configurazione in programs.openclaw.config o instances.<name>.config.
    • Le dipendenze mancanti mostrano messaggi di risoluzione specifici per Nix.
    • L'interfaccia utente mostra un banner di modalità Nix in sola lettura.

    Percorsi di configurazione e stato

    OpenClaw legge la configurazione JSON5 da OPENCLAW_CONFIG_PATH e archivia i dati modificabili in OPENCLAW_STATE_DIR. Con Nix, impostali esplicitamente su percorsi gestiti da Nix, in modo che lo stato di runtime e la configurazione restino fuori dall'archivio immutabile.

    Variabile Valore predefinito
    OPENCLAW_HOME HOME / USERPROFILE / os.homedir()
    OPENCLAW_STATE_DIR ~/.openclaw
    OPENCLAW_CONFIG_PATH $OPENCLAW_STATE_DIR/openclaw.json

    Rilevamento del PATH del servizio

    Il servizio Gateway launchd/systemd rileva automaticamente i binari dei profili Nix, in modo che i Plugin e gli strumenti che eseguono gli eseguibili installati tramite nix funzionino senza configurare manualmente il PATH:

    • Quando NIX_PROFILES è impostata, ogni voce viene aggiunta al PATH del servizio con precedenza da destra verso sinistra (come la precedenza della shell Nix: vince la voce più a destra).
    • Quando NIX_PROFILES non è impostata, ~/.nix-profile/bin viene aggiunto come percorso di riserva.

    Questo vale sia per gli ambienti dei servizi launchd su macOS sia per quelli systemd su Linux.

    Contenuti correlati

    Was this useful?