Aller au contenu

Nix

Installez OpenClaw de manière déclarative avec nix-openclaw - le module Home Manager de première partie, complet et prêt à l’emploi.

  • Gateway + application macOS + outils (whisper, spotify, cameras) — tous épinglés
  • Service launchd qui survit aux redémarrages
  • Système de plugins avec configuration déclarative
  • Retour instantané (rollback) : home-manager switch --rollback
  1. Installer Determinate Nix

    Si Nix n’est pas encore installé, suivez les instructions de l’installateur Determinate Nix.

  2. Créer un flake local

    Utilisez le modèle agent-first depuis le dépôt nix-openclaw : bash mkdir -p ~/code/openclaw-local # Copy templates/agent-first/flake.nix from the nix-openclaw repo

  3. Configurer les secrets

    Configurez le jeton de votre bot de messagerie et la clé API du fournisseur de modèle. Les fichiers simples à ~/.secrets/ fonctionnent parfaitement.

  4. Remplir les espaces réservés du modèle et basculer

    bash home-manager switch

  5. Vérifier

    Confirmez que le service launchd est en cours d’exécution et que votre bot répond aux messages.

Consultez le README nix-openclaw pour les options complètes du module et des exemples.

Lorsque OPENCLAW_NIX_MODE=1 est défini (automatique avec nix-openclaw), OpenClaw entre dans un mode déterministe pour les installations gérées par Nix. D’autres paquets Nix peuvent définir le même mode ; nix-openclaw est la référence de première partie.

Vous pouvez également le définir manuellement :

Fenêtre de terminal
export OPENCLAW_NIX_MODE=1

Sur macOS, l’application GUI n’hérite pas automatiquement des variables d’environnement du shell. Activez le mode Nix via les defaults à la place :

Fenêtre de terminal
defaults write ai.openclaw.mac openclaw.nixMode -bool true
  • Les flux d’auto-installation et d’auto-mutation sont désactivés
  • openclaw.json est traité comme immuable. Les valeurs par défaut dérivées du démarrage restent uniquement à l’exécution, et les rédacteurs de configuration tels que setup, onboarding, la modification de openclaw update, l’installation/mise à jour/désactivation/suppression de plugins, doctor --fix, doctor --generate-gateway-token et openclaw config set refusent de modifier le fichier.
  • Les agents doivent modifier la source Nix à la place. Pour nix-openclaw, utilisez le Quick Start axé sur l’agent et définissez la configuration sous programs.openclaw.config ou instances.<name>.config.
  • Les dépendances manquantes affichent des messages de correction spécifiques à Nix
  • L’interface utilisateur affiche une bannière de mode Nix en lecture seule

OpenClaw lit la configuration JSON5 depuis OPENCLAW_CONFIG_PATH et stocke les données modifiables dans OPENCLAW_STATE_DIR. Lorsqu’il fonctionne sous Nix, définissez-les explicitement sur des emplacements gérés par Nix afin que l’état d’exécution et la configuration restent hors du stockage immuable.

VariablePar défaut
OPENCLAW_HOMEHOME / USERPROFILE / os.homedir()
OPENCLAW_STATE_DIR~/.openclaw
OPENCLAW_CONFIG_PATH$OPENCLAW_STATE_DIR/openclaw.json

Le service de passerelle launchd/systemd découvre automatiquement les binaires du profil Nix afin que les plug-ins et les outils qui appellent des exécutables installés via nix fonctionnent sans configuration manuelle du PATH :

  • Lorsque NIX_PROFILES est défini, chaque entrée est ajoutée au PATH du service par ordre de priorité de droite à gauche (correspond à la priorité du shell Nix - le plus à droite l’emporte).
  • Lorsque NIX_PROFILES n’est pas défini, ~/.nix-profile/bin est ajouté en guise de solution de repli.

Cela s’applique aux environnements de service launchd macOS et systemd Linux.

nix-openclaw

Module Home Manager de référence et guide complet d’installation.

Assistant de configuration

Procédure pas à pas de configuration Nix sans CLI.

Docker

Configuration conteneurisée en alternative à Nix.

Mise à jour

Mise à jour des installations gérées par Home Manager en même temps que le paquet.