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