Installazione con Nix
Il modo consigliato per eseguire OpenClaw con Nix e tramite nix-openclaw — un modulo Home Manager completo di tutto.
Avvio rapido
Incolla questo al tuo agent AI (Claude, Cursor, ecc.):
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.
Guida completa: github.com/openclaw/nix-openclaw
Il repo nix-openclaw e la fonte autorevole per l’installazione con Nix. Questa pagina e solo una panoramica rapida.
Cosa ottieni
- Gateway + app macOS + strumenti (whisper, spotify, cameras) — tutto fissato
- Servizio launchd che sopravvive ai riavvii
- Sistema di plugin con configurazione dichiarativa
- Rollback istantaneo:
home-manager switch --rollback
Comportamento runtime in modalita Nix
Quando OPENCLAW_NIX_MODE=1 e impostato (automatico con nix-openclaw):
OpenClaw supporta una modalita Nix che rende la configurazione deterministica e disabilita i flussi di auto-installazione. Abilitala esportando:
OPENCLAW_NIX_MODE=1
Su macOS, l’app GUI non eredita automaticamente le variabili d’ambiente della shell. Puoi abilitare la modalita Nix anche tramite defaults:
defaults write ai.openclaw.mac openclaw.nixMode -bool true
Percorsi di configurazione e stato
OpenClaw legge la configurazione JSON5 da OPENCLAW_CONFIG_PATH e salva i dati mutabili in OPENCLAW_STATE_DIR.
Quando necessario, puoi anche impostare OPENCLAW_HOME per controllare la directory home di base usata per la risoluzione interna dei percorsi.
OPENCLAW_HOME(precedenza predefinita:HOME/USERPROFILE/os.homedir())OPENCLAW_STATE_DIR(predefinito:~/.openclaw)OPENCLAW_CONFIG_PATH(predefinito:$OPENCLAW_STATE_DIR/openclaw.json)
Quando esegui sotto Nix, imposta questi valori esplicitamente su posizioni gestite da Nix in modo che stato e configurazione restino fuori dallo store immutabile.
Comportamento runtime in modalita Nix
- I flussi di auto-installazione e auto-modifica sono disabilitati
- Le dipendenze mancanti mostrano messaggi di rimedio specifici per Nix
- L’interfaccia mostra un banner di sola lettura per la modalita Nix quando presente
Nota sul packaging (macOS)
Il flusso di packaging macOS si aspetta un template Info.plist stabile in:
apps/macos/Sources/OpenClaw/Resources/Info.plist
scripts/package-mac-app.sh copia questo template nel bundle dell’app e modifica i campi dinamici (bundle ID, versione/build, Git SHA, chiavi Sparkle). Questo mantiene il plist deterministico per il packaging SwiftPM e le build Nix (che non si basano su una toolchain Xcode completa).
Correlati
- nix-openclaw — guida completa al setup
- Wizard — setup CLI senza Nix
- Docker — setup containerizzato