Containers

Nix

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

Ce que vous obtenez

  • Gateway + application macOS + outils (whisper, spotify, caméras), tous épinglés
  • Service launchd persistant après les redémarrages
  • Système de Plugins avec configuration déclarative
  • Restauration instantanée : home-manager switch --rollback

Démarrage rapide

  • Installer Determinate Nix

    Si Nix n’est pas déjà installé, suivez les instructions du programme d’installation de Determinate Nix.

  • Créer un flake local

    Utilisez le modèle axé sur les agents du dépôt nix-openclaw :

    bash
    mkdir -p ~/code/openclaw-local# Copier templates/agent-first/flake.nix depuis le dépôt nix-openclaw
  • Configurer les secrets

    Configurez le jeton de votre bot de messagerie et la clé d’API du fournisseur de modèles. De simples fichiers dans ~/.secrets/ conviennent parfaitement.

  • Renseigner les espaces réservés du modèle et appliquer la configuration

    bash
    home-manager switch
  • Vérifier

    Vérifiez que le service launchd est actif et que votre bot répond aux messages.

  • Consultez le README de nix-openclaw pour découvrir toutes les options du module et des exemples.

    Comportement d’exécution en mode Nix

    Lorsque OPENCLAW_NIX_MODE=1 est défini (automatiquement avec nix-openclaw), OpenClaw passe en 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 l’implémentation de référence officielle.

    Vous pouvez également le définir manuellement :

    bash
    export OPENCLAW_NIX_MODE=1

    Sous macOS, l’application graphique n’hérite pas des variables d’environnement de l’interpréteur de commandes. Activez plutôt le mode Nix avec defaults :

    bash
    defaults write ai.openclaw.mac openclaw.nixMode -bool true

    Changements apportés par le mode Nix

    • Les processus d’installation automatique et d’auto-modification sont désactivés.
    • openclaw.json est considéré comme immuable. Les valeurs par défaut déduites au démarrage restent limitées à l’exécution, et les outils qui écrivent la configuration (configuration initiale, intégration, commande openclaw update avec modification, installation/mise à jour/désinstallation/activation de Plugins, doctor --fix, doctor --generate-gateway-token, openclaw config set) refusent de modifier le fichier.
    • Modifiez plutôt la source Nix. Pour nix-openclaw, suivez le démarrage rapide axé sur les agents et définissez la configuration sous programs.openclaw.config ou instances.<name>.config.
    • Les dépendances manquantes déclenchent des messages de résolution propres à Nix.
    • L’interface affiche une bannière indiquant que le mode Nix est en lecture seule.

    Chemins de configuration et d’état

    OpenClaw lit la configuration JSON5 depuis OPENCLAW_CONFIG_PATH et stocke les données modifiables dans OPENCLAW_STATE_DIR. 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 en dehors du magasin immuable.

    Variable Valeur par défaut
    OPENCLAW_HOME HOME / USERPROFILE / os.homedir()
    OPENCLAW_STATE_DIR ~/.openclaw
    OPENCLAW_CONFIG_PATH $OPENCLAW_STATE_DIR/openclaw.json

    Détection du PATH du service

    Le service Gateway launchd/systemd détecte automatiquement les exécutables des profils Nix afin que les Plugins et les outils qui lancent des exécutables installés par nix fonctionnent sans configuration manuelle du PATH :

    • Lorsque NIX_PROFILES est défini, chaque entrée est ajoutée au PATH du service selon un ordre de priorité allant de droite à gauche (conforme à la priorité de l’interpréteur de commandes Nix : l’entrée la plus à droite l’emporte).
    • Lorsque NIX_PROFILES n’est pas défini, ~/.nix-profile/bin est ajouté comme solution de repli.

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

    Pages connexes

    Was this useful?
    On this page

    On this page