Installation via Nix
La methode recommandee pour executer OpenClaw avec Nix est nix-openclaw — un module Home Manager tout compris.
Demarrage rapide
Collez ceci a votre agent IA (Claude, Cursor, etc.) :
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.
📦 Guide complet : github.com/openclaw/nix-openclaw
Le depot nix-openclaw est la reference pour l’installation via Nix. Cette page n’est qu’un apercu rapide.
Ce que vous obtenez
- Passerelle + app macOS + outils (whisper, spotify, cameras) — le tout epingle
- Service launchd qui survit aux redemarrages
- Systeme de plugins avec configuration declarative
- Rollback instantane :
home-manager switch --rollback
Comportement du runtime en mode Nix
Quand OPENCLAW_NIX_MODE=1 est defini (automatique avec nix-openclaw) :
OpenClaw supporte un mode Nix qui rend la configuration deterministe et desactive les flux d’auto-installation. Activez-le en exportant :
OPENCLAW_NIX_MODE=1
Sur macOS, l’app graphique n’herite pas automatiquement des variables d’environnement du shell. Vous pouvez aussi activer le mode Nix via defaults :
defaults write ai.openclaw.mac openclaw.nixMode -bool true
Chemins de configuration et d’etat
OpenClaw lit la configuration JSON5 depuis OPENCLAW_CONFIG_PATH et stocke les donnees mutables dans OPENCLAW_STATE_DIR.
Au besoin, vous pouvez aussi definir OPENCLAW_HOME pour controler le repertoire de base utilise pour la resolution des chemins internes.
OPENCLAW_HOME(priorite par defaut :HOME/USERPROFILE/os.homedir())OPENCLAW_STATE_DIR(par defaut :~/.openclaw)OPENCLAW_CONFIG_PATH(par defaut :$OPENCLAW_STATE_DIR/openclaw.json)
Sous Nix, definissez-les explicitement vers des emplacements geres par Nix pour que l’etat d’execution et la configuration restent en dehors du store immuable.
Comportement d’execution en mode Nix
- Les flux d’auto-installation et d’auto-mutation sont desactives
- Les dependances manquantes affichent des messages de remediation specifiques a Nix
- L’interface affiche une banniere mode Nix en lecture seule quand present
Note sur le packaging (macOS)
Le flux de packaging macOS s’attend a un template Info.plist stable a :
apps/macos/Sources/OpenClaw/Resources/Info.plist
scripts/package-mac-app.sh copie ce template dans le bundle de l’app et patche les champs dynamiques
(bundle ID, version/build, Git SHA, cles Sparkle). Cela garde le plist deterministe pour le packaging SwiftPM
et les builds Nix (qui ne reposent pas sur une toolchain Xcode complete).
Voir aussi
- nix-openclaw — guide de configuration complet
- Assistant — configuration CLI non-Nix
- Docker — configuration containerisee