4.3 KiB
| read_when | summary | title | x-i18n | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Installa OpenClaw in modo dichiarativo con Nix | Nix |
|
Installa OpenClaw in modo dichiarativo con nix-openclaw — un modulo Home Manager completo di tutto.
Il repository [nix-openclaw](https://github.com/openclaw/nix-openclaw) è la fonte di verità per l'installazione con Nix. Questa pagina è una rapida panoramica.Cosa ottieni
- Gateway + app macOS + strumenti (whisper, spotify, cameras) -- tutti fissati
- Servizio Launchd che sopravvive ai riavvii
- Sistema di Plugin con configurazione dichiarativa
- Rollback istantaneo:
home-manager switch --rollback
Avvio rapido
Se Nix non è già installato, segui le istruzioni dell'[installer Determinate Nix](https://github.com/DeterminateSystems/nix-installer). Usa il template agent-first dal repository nix-openclaw: ```bash mkdir -p ~/code/openclaw-local # Copy templates/agent-first/flake.nix from the nix-openclaw repo ``` Configura il token del tuo bot di messaggistica e la chiave API del provider di modelli. I file in chiaro in `~/.secrets/` vanno benissimo. ```bash home-manager switch ``` Conferma che il servizio launchd sia in esecuzione e che il tuo bot risponda ai messaggi.Vedi il README di nix-openclaw per tutte le opzioni del modulo e gli esempi.
Comportamento runtime in modalità Nix
Quando OPENCLAW_NIX_MODE=1 è impostato (automatico con nix-openclaw), OpenClaw entra in una modalità deterministica che disabilita i flussi di installazione automatica.
Puoi anche impostarlo manualmente:
export OPENCLAW_NIX_MODE=1
Su macOS, l'app GUI non eredita automaticamente le variabili d'ambiente della shell. Abilita invece la modalità Nix tramite defaults:
defaults write ai.openclaw.mac openclaw.nixMode -bool true
Cosa cambia in modalità Nix
- I flussi di installazione automatica e auto-mutazione sono disabilitati
- Le dipendenze mancanti mostrano messaggi di risoluzione specifici per Nix
- L'interfaccia mostra un banner di modalità Nix in sola lettura
Percorsi di configurazione e stato
OpenClaw legge la configurazione JSON5 da OPENCLAW_CONFIG_PATH e memorizza i dati modificabili in OPENCLAW_STATE_DIR. Quando viene eseguito con Nix, imposta esplicitamente questi valori su percorsi gestiti da Nix così lo stato runtime e la configurazione restano fuori dallo store immutabile.
| Variabile | 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 del profilo Nix così
Plugin e strumenti che eseguono comandi verso eseguibili installati con nix funzionano senza
una configurazione manuale del PATH:
- Quando
NIX_PROFILESè impostato, ogni voce viene aggiunta al PATH del servizio con precedenza da destra a sinistra (corrisponde alla precedenza della shell Nix — la più a destra vince). - Quando
NIX_PROFILESnon è impostato,~/.nix-profile/binviene aggiunto come fallback.
Questo vale sia per gli ambienti di servizio macOS launchd sia per quelli Linux systemd.
Correlati
- nix-openclaw -- guida completa alla configurazione
- Wizard -- configurazione CLI non Nix
- Docker -- configurazione containerizzata