L'installation de Nix prend moins de 5 minutes et dépose l'essentiel dans le
répertoire /nix. Vous pouvez l'installer sur Debian, Ubuntu, Fedora,
Arch ou toute distribution Linux, et le désinstaller proprement si besoin.
Ce guide couvre les deux modes d'installation, la configuration initiale des
commandes modernes et des flakes, et un premier test pour vérifier que
tout fonctionne. Les sorties montrées ont été relevées sur Nix 2.35.2.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Choisir entre l'installation single-user et multi-user selon votre contexte
- Installer Nix sur votre distribution Linux avec un installateur vérifié par son empreinte
- Activer les commandes modernes (
nix shell,nix profile,nix search) et les flakes - Vérifier que l'installation fonctionne avec un premier paquet temporaire
- Désinstaller Nix proprement si nécessaire
Dans quel contexte ?
Section intitulée « Dans quel contexte ? »Vous avez lu le guide sur l'écosystème Nix et vous voulez passer à la pratique. Voici les situations typiques :
- Vous administrez un serveur Debian ou Ubuntu et vous voulez tester Nix sans toucher à votre installation apt existante.
- Vous développez sur plusieurs projets qui ont besoin de versions différentes de Python, Node.js ou Terraform.
- Vous préparez un environnement reproductible pour votre équipe.
- Vous êtes sur un poste partagé et vous avez besoin d'isoler vos paquets.
Prérequis
Section intitulée « Prérequis »- Un système Linux avec accès root (sudo)
- curl installé (présent par défaut sur la plupart des distributions)
- Au moins 5 Go d'espace disque disponible pour
/nix - Une connexion Internet
# Vérifier que curl est disponiblewhich curl || sudo apt install curl # Debian/UbuntuChoisir entre single-user et multi-user
Section intitulée « Choisir entre single-user et multi-user »Nix propose deux modes d'installation, et le choix dépend de votre usage. Le critère décisif est la séparation des privilèges : en multi-user, un daemon construit les paquets sous des comptes dédiés, ce qui protège le store des autres utilisateurs de la machine.
| Critère | Single-user | Multi-user |
|---|---|---|
| Daemon | Non | Oui (nix-daemon) |
| Isolation | Pas de séparation de privilèges | Builds isolés dans des comptes dédiés |
| Utilisateurs | Un seul | Plusieurs |
| Recommandé pour | Tests rapides, poste personnel | Serveurs, postes partagés, production |
| Droits pour installer | Utilisateur courant | Root (pour le daemon) |
Télécharger et vérifier l'installateur
Section intitulée « Télécharger et vérifier l'installateur »La page de téléchargement de nixos.org propose de piper le script
d'installation dans sh. Ne le faites pas : vous exécuteriez en root un script
que personne n'a lu, sans savoir quelle version il installe. Le projet
publie, pour chaque version, le script et son empreinte SHA-256 sur
releases.nixos.org : téléchargez les deux, comparez, lisez le script, et
seulement ensuite exécutez-le.
curl -fsSL -o install-nix.sh https://releases.nixos.org/nix/nix-2.35.2/installcurl -fsSL https://releases.nixos.org/nix/nix-2.35.2/install.sha256sha256sum install-nix.shless install-nix.shLes deux empreintes doivent être identiques, mesuré le 1er octobre 2026 :
9adda97297d9e8ab360df95c729eabff4f4f93d6db091953c3a68f29e3fb130c. Le script
épingle à son tour l'archive de Nix 2.35.2 de chaque architecture par son
hash, et refuse une archive qui ne lui correspond pas.
Installer Nix en mode single-user
Section intitulée « Installer Nix en mode single-user »Le mode single-user est le plus simple. Nix s'installe dans /nix et
fonctionne directement sous votre utilisateur, sans daemon. Lancez le
script vérifié avec l'option --no-daemon :
sh install-nix.sh --no-daemon- L'installateur télécharge Nix et crée le répertoire
/nix/store/ - Il configure votre shell en ajoutant une ligne de chargement dans
~/.profile - Les commandes Nix deviennent accessibles dans votre PATH
Installer Nix en mode multi-user
Section intitulée « Installer Nix en mode multi-user »Le mode multi-user crée un daemon système (nix-daemon) et un groupe de
comptes dédiés (nixbld1 à nixbld32) pour isoler les builds. Contrairement
au mode single-user, il touche aussi à quelques fichiers système hors de
/nix, que la désinstallation devra retirer.
sh install-nix.sh --daemonL'installateur vous pose quelques questions. Répondez yes à chaque fois pour accepter les valeurs par défaut.
- L'installateur crée le répertoire
/nix/store/et les comptes de buildnixbld* - Il installe et démarre le service
nix-daemon.service, et écrit/etc/nix/nix.conf - Il crée
/etc/profile.d/nix.shet ajoute une ligne de chargement dans les fichiers de shell globaux (/etc/bash.bashrcou/etc/bashrc,/etc/zshrc), pour que tous les utilisateurs aient Nix dans leur PATH
Après l'installation, vérifiez que le daemon tourne :
systemctl status nix-daemon.serviceSortie attendue :
● nix-daemon.service - Nix Daemon Loaded: loaded (/etc/systemd/system/nix-daemon.service; linked; preset: enabled) Active: active (running) Main PID: 2383 (nix-daemon)Alternative : le Determinate Nix Installer
Section intitulée « Alternative : le Determinate Nix Installer »Le Determinate Nix Installer, maintenu par la société Determinate
Systems, est une alternative à l'installateur officiel. Il installe toujours
en multi-user, active les flakes par défaut, et fournit une désinstallation
en une commande (/nix/nix-installer uninstall). Sa documentation propose, elle
aussi, de piper un script dans sh : la même règle s'applique, on
télécharge, on lit, puis on exécute.
Vérifier l'installation
Section intitulée « Vérifier l'installation »Ouvrez un nouveau terminal (ou sourcez le profil manuellement) et testez :
nix --versionnix (Nix) 2.35.2Vérifiez également que le store est accessible à travers le daemon :
nix store infoStore URL: daemonVersion: 2.35.2Trusted: 0Store URL: daemon confirme que votre commande passe bien par le daemon.
La ligne Trusted indique si votre compte figure dans trusted-users, qui vaut
root par défaut : un utilisateur ordinaire lit donc Trusted: 0, et c'est
normal. Seul root (ou un compte ajouté à trusted-users) lit Trusted: 1,
qui autorise des réglages sensibles comme l'ajout d'un cache binaire.
Activer les commandes modernes et les flakes
Section intitulée « Activer les commandes modernes et les flakes »Par défaut, les commandes modernes (nix shell, nix profile,
nix search, nix develop) et les flakes sont désactivées, car elles sont
encore considérées comme expérimentales par l'équipe Nix, même si la
communauté les utilise massivement. Sur Nix 2.35.2, la moindre de ces commandes
échoue tant que la fonctionnalité n'est pas activée :
error: experimental Nix feature 'nix-command' is disabled; add '--extra-experimental-features nix-command' to enable itAjoutez la ligne au fichier /etc/nix/nix.conf, à la suite de ce que
l'installateur y a écrit (tee -a ajoute sans écraser) :
echo "experimental-features = nix-command flakes" | sudo tee -a /etc/nix/nix.confPuis redémarrez le daemon :
sudo systemctl restart nix-daemon.serviceVérifiez que la configuration est prise en compte :
nix config show experimental-featuresfetch-tree flakes nix-commandfetch-tree s'ajoute tout seul : c'est une fonctionnalité dont les flakes
dépendent, activée automatiquement avec elles. Inutile en revanche d'écrire
sandbox = true : le bac à sable des builds est déjà actif par défaut sur
Linux.
Configurer votre shell
Section intitulée « Configurer votre shell »Bash et Zsh
Section intitulée « Bash et Zsh »En multi-user, l'installateur ajoute le chargement de Nix dans les fichiers de
shell globaux, lus à l'ouverture de session. Si les commandes Nix ne sont
pas disponibles après connexion, ajoutez dans votre ~/.bashrc ou ~/.zshrc
le chargement du script du daemon :
# Charger Nixif [ -e /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]; then . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.shfiPour Fish, ajoutez dans ~/.config/fish/config.fish le script propre à
votre mode d'installation : nix-daemon.fish en multi-user, nix.fish
en single-user.
# Charger Nix (installation multi-user)if test -e /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fish source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fishendTester avec un premier paquet temporaire
Section intitulée « Tester avec un premier paquet temporaire »Vérifions que Nix fonctionne de bout en bout en exécutant un paquet sans l'installer :
nix run nixpkgs#cowsay -- 'Nix fonctionne !'La première exécution télécharge les dépendances depuis le cache binaire :
__________________< Nix fonctionne ! > ------------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||Le paquet cowsay n'est pas installé dans votre profil. Il a été
téléchargé dans le store (/nix/store/) et exécuté une seule fois. Vous
pouvez le vérifier :
which cowsay# cowsay not found : il n'est pas dans votre PATHC'est l'une des forces de Nix : tester un outil en une commande, sans polluer votre système.
Désinstaller Nix proprement
Section intitulée « Désinstaller Nix proprement »Si vous voulez retirer Nix de votre système, suivez la procédure du manuel de Nix correspondant à votre mode d'installation. La version multi-user compte plus d'étapes, parce que l'installateur a touché à des fichiers système et créé des comptes.
Multi-user
Section intitulée « Multi-user »Les quatre étapes reprennent l'ordre du manuel : arrêter le daemon, supprimer les fichiers, retirer les comptes de build, puis nettoyer les fichiers de shell globaux. Sautez la dernière et chaque nouveau shell affichera une erreur en cherchant un script qui n'existe plus.
-
Arrêtez le daemon :
Fenêtre de terminal sudo systemctl stop nix-daemon.servicesudo systemctl disable nix-daemon.socket nix-daemon.servicesudo systemctl daemon-reload -
Supprimez les fichiers Nix, ceux de votre compte et ceux de root :
Fenêtre de terminal sudo rm -rf /etc/nix /etc/profile.d/nix.sh /etc/tmpfiles.d/nix-daemon.conf /nix \~root/.nix-channels ~root/.nix-defexpr ~root/.nix-profile ~root/.cache/nixrm -rf ~/.nix-profile ~/.nix-defexpr ~/.nix-channels \~/.local/share/nix ~/.local/state/nix ~/.cache/nix -
Supprimez les comptes et le groupe :
Fenêtre de terminal for i in $(seq 1 32); do sudo userdel "nixbld$i"; donesudo groupdel nixbld -
Retirez les lignes ajoutées par l'installateur dans
/etc/bash.bashrc,/etc/bashrc,/etc/profile,/etc/zsh/zshrcet/etc/zshrc, selon ceux qui existent sur votre distribution.
Single-user
Section intitulée « Single-user »rm -rf /nix ~/.nix-channels ~/.nix-defexpr ~/.nix-profile \ ~/.local/share/nix ~/.local/state/nix ~/.cache/nixRetirez aussi la ligne de chargement ajoutée dans ~/.profile.
Dépannage courant
Section intitulée « Dépannage courant »La plupart des blocages tiennent à un shell qui n'a pas encore chargé Nix, à un daemon arrêté, ou à des fonctionnalités expérimentales non activées. Lisez le message exact : celui de la quatrième ligne nomme lui-même l'option manquante.
| Symptôme | Cause probable | Solution |
|---|---|---|
nix: command not found après installation | Shell non rechargé | Ouvrez un nouveau terminal ou sourcez le profil manuellement |
error: getting status of /nix | /nix n'existe pas | Relancez l'installateur |
error: cannot connect to daemon | nix-daemon arrêté | sudo systemctl start nix-daemon.service |
error: experimental Nix feature 'nix-command' is disabled | Commandes modernes non activées | Ajoutez experimental-features = nix-command flakes dans /etc/nix/nix.conf |
permission denied sur /nix/store/ | Installation single-user avec mauvais propriétaire | Vérifiez ls -ld /nix/store, le propriétaire doit être votre utilisateur (single) ou root (multi) |
À retenir
Section intitulée « À retenir »- Le mode multi-user est recommandé : il isole les builds dans des comptes dédiés et fonctionne pour tous les utilisateurs du système.
- Activez
nix-commandetflakesdans/etc/nix/nix.conf, c'est indispensable pour suivre les guides de cette section. - Nix ne touche pas à vos paquets : apt, dnf et ce qu'ils ont installé
restent intacts, les paquets Nix vivent dans
/nix. - Testez avec
nix run nixpkgs#cowsaypour vérifier que tout fonctionne de bout en bout. - La désinstallation multi-user a quatre étapes : daemon, fichiers,
comptes
nixbld*, puis fichiers de shell globaux.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Score par domaine
Un domaine regroupe plusieurs guides et reçoit plusieurs questions : son score est plus fiable qu'un score par thème, qui porte souvent sur une seule question.
Bilan
Points forts
Aucun sujet réussi à 80 % sur au moins deux questions pour l’instant.
Points faibles
Aucun sujet sous le seuil de réussite.
À faire ensuite
Des indices pour retenter votre chance ?
Continuer le cours : Store, profils et générations
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications