> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Nix

Installez OpenClaw de manière déclarative avec **[nix-openclaw](https://github.com/openclaw/nix-openclaw)** - le module Home Manager officiel et clé en main.

<Info>
  Le dépôt [nix-openclaw](https://github.com/openclaw/nix-openclaw) est la source de vérité pour l’installation avec Nix. Cette page est un aperçu rapide.
</Info>

## Ce que vous obtenez

* Gateway + application macOS + outils (whisper, spotify, cameras) -- tous épinglés
* Service launchd qui survit aux redémarrages
* Système de Plugin avec configuration déclarative
* Retour arrière instantané : `home-manager switch --rollback`

## Démarrage rapide

<Steps>
  <Step title="Installer Determinate Nix">
    Si Nix n’est pas déjà installé, suivez les instructions de l’[installateur Determinate Nix](https://github.com/DeterminateSystems/nix-installer).
  </Step>

  <Step title="Créer une flake locale">
    Utilisez le modèle agent-first du dépôt nix-openclaw :

    ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
    mkdir -p ~/code/openclaw-local
    # Copy templates/agent-first/flake.nix from the nix-openclaw repo
    ```
  </Step>

  <Step title="Configurer les secrets">
    Configurez le jeton de votre bot de messagerie et la clé API du fournisseur de modèle. Des fichiers simples dans `~/.secrets/` conviennent très bien.
  </Step>

  <Step title="Renseigner les espaces réservés du modèle et appliquer">
    ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
    home-manager switch
    ```
  </Step>

  <Step title="Vérifier">
    Confirmez que le service launchd est en cours d’exécution et que votre bot répond aux messages.
  </Step>
</Steps>

Consultez le [README de nix-openclaw](https://github.com/openclaw/nix-openclaw) pour les options complètes du module et des exemples.

## Comportement d’exécution en mode Nix

Lorsque `OPENCLAW_NIX_MODE=1` est défini (automatique avec nix-openclaw), OpenClaw passe en mode déterministe pour les installations gérées par Nix. D’autres packages Nix peuvent définir le même mode ; nix-openclaw est la référence officielle.

Vous pouvez également le définir manuellement :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
export OPENCLAW_NIX_MODE=1
```

Sur macOS, l’application GUI n’hérite pas automatiquement des variables d’environnement du shell. Activez plutôt le mode Nix via defaults :

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
defaults write ai.openclaw.mac openclaw.nixMode -bool true
```

### Ce qui change en mode Nix

* Les flux d’installation automatique 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 disponibles à l’exécution, et les outils d’écriture de configuration comme setup, onboarding, la mutation via `openclaw update`, l’installation/mise à jour/désinstallation/activation de Plugin, `doctor --fix`, `doctor --generate-gateway-token` et `openclaw config set` refusent de modifier le fichier.
* Les agents doivent plutôt modifier la source Nix. Pour nix-openclaw, utilisez le [Démarrage rapide](https://github.com/openclaw/nix-openclaw#quick-start) agent-first et définissez la configuration sous `programs.openclaw.config` ou `instances.<name>.config`.
* Les dépendances manquantes affichent des messages de remédiation propres à Nix
* L’UI affiche une bannière de mode Nix en lecture seule

### Chemins de configuration et d’état

OpenClaw lit la configuration JSON5 depuis `OPENCLAW_CONFIG_PATH` et stocke les données mutables dans `OPENCLAW_STATE_DIR`. Lors de l’exécution sous Nix, définissez-les explicitement vers des emplacements gérés par Nix afin que l’état d’exécution et la configuration restent hors du magasin immuable.

| Variable               | Par défaut                              |
| ---------------------- | --------------------------------------- |
| `OPENCLAW_HOME`        | `HOME` / `USERPROFILE` / `os.homedir()` |
| `OPENCLAW_STATE_DIR`   | `~/.openclaw`                           |
| `OPENCLAW_CONFIG_PATH` | `$OPENCLAW_STATE_DIR/openclaw.json`     |

### Découverte du PATH du service

Le service gateway launchd/systemd découvre automatiquement les binaires du profil Nix afin que
les Plugins 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 avec une
  précédence de droite à gauche (correspond à la précédence du shell Nix - l’élément le plus à droite gagne).
* Lorsque `NIX_PROFILES` n’est pas défini, `~/.nix-profile/bin` est ajouté comme solution de repli.

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

## Connexe

<CardGroup cols={2}>
  <Card title="nix-openclaw" href="https://github.com/openclaw/nix-openclaw" icon="arrow-up-right-from-square">
    Module Home Manager source de vérité et guide de configuration complet.
  </Card>

  <Card title="Assistant de configuration" href="/fr/start/wizard" icon="wand-magic-sparkles">
    Guide pas à pas de configuration CLI hors Nix.
  </Card>

  <Card title="Docker" href="/fr/install/docker" icon="docker">
    Configuration conteneurisée comme alternative hors Nix.
  </Card>

  <Card title="Mise à jour" href="/fr/install/updating" icon="arrow-up-right-from-square">
    Mise à jour des installations gérées par Home Manager avec le package.
  </Card>
</CardGroup>
