L’installation de Nix prend moins de 5 minutes et ne modifie rien en dehors du
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.
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 en une commande
- 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. Le choix dépend de votre usage.
| 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) |
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.
sh <(curl -L https://nixos.org/nix/install) --no-daemon- L’installateur télécharge Nix et crée le répertoire
/nix/store/ - Il configure votre shell en ajoutant une ligne dans
~/.profileou~/.bashrc - 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.
sh <(curl -L https://nixos.org/nix/install) --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 comptesnixbld* - Il installe et démarre le service
nix-daemon.service - Il configure
/etc/profile.d/nix-daemon.shpour 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 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 propre.
curl --proto '=https' --tlsv1.2 -sSf -L \ https://install.determinate.systems/nix | sh -s -- installVé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.34.6Vérifiez également que le store est accessible :
nix store infoStore URL: daemonVersion: 2.34.6Trusted: 1Trusted: 1 confirme que votre utilisateur est reconnu par le daemon Nix.
Activer les commandes modernes et les flakes
Section intitulée « Activer les commandes modernes et les flakes »Par défaut, certaines commandes Nix 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.
Créez ou éditez le fichier /etc/nix/nix.conf :
sudo mkdir -p /etc/nixsudo tee /etc/nix/nix.conf > /dev/null << 'EOF'experimental-features = nix-command flakessandbox = trueEOFPuis redémarrez le daemon :
sudo systemctl restart nix-daemon.serviceVérifiez que la configuration est prise en compte :
cat /etc/nix/nix.confexperimental-features = nix-command flakessandbox = trueConfigurer votre shell
Section intitulée « Configurer votre shell »Bash et Zsh
Section intitulée « Bash et Zsh »En multi-user, l’installateur crée automatiquement
/etc/profile.d/nix-daemon.sh qui est sourcé au login. Si les commandes Nix ne
sont pas disponibles après connexion, ajoutez dans votre ~/.bashrc ou
~/.zshrc :
# 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 shell, ajoutez dans ~/.config/fish/config.fish :
# Charger Nixif test -e /nix/var/nix/profiles/default/etc/profile.d/nix.fish source /nix/var/nix/profiles/default/etc/profile.d/nix.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 :
Multi-user
Section intitulée « Multi-user »-
Arrêtez le daemon :
Fenêtre de terminal sudo systemctl stop nix-daemon.servicesudo systemctl disable nix-daemon.socket nix-daemon.service -
Supprimez les fichiers Nix :
Fenêtre de terminal sudo rm -rf /nix /etc/nixsudo rm -f /etc/profile.d/nix-daemon.sh -
Supprimez les comptes et le groupe :
Fenêtre de terminal for i in $(seq 1 32); do sudo userdel "nixbld$i" 2>/dev/null; donesudo groupdel nixbld 2>/dev/null -
Nettoyez les fichiers utilisateur :
Fenêtre de terminal rm -rf ~/.nix-profile ~/.nix-defexpr ~/.nix-channels ~/.local/state/nix
Single-user
Section intitulée « Single-user »rm -rf /nix ~/.nix-profile ~/.nix-defexpr ~/.nix-channelsRetirez aussi la ligne de sourcing dans ~/.profile, ~/.bashrc ou
~/.zshrc.
Dépannage courant
Section intitulée « Dépannage courant »| 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 |
warning: Nix search path entry... après nix search | 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 -la /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 rien en dehors de
/nix: votre apt, votre dnf et vos paquets existants restent intacts. - Testez avec
nix run nixpkgs#cowsaypour vérifier que tout fonctionne de bout en bout. - La désinstallation est propre : supprimer
/nixet les fichiers de configuration suffit.