Nix (gestionnaire de paquets)
gestionnaire de paquet / De Wikipedia, l'encyclopédie encyclopedia
Pour les articles homonymes, voir Nix.
Nix est un gestionnaire de paquets multiplateforme qui utilise un modèle de déploiement dans lequel le logiciel est installé dans des répertoires uniques générés via des fonctions de hachages cryptographiques. C'est aussi le nom du langage de programmation de l'outil. Le hachage d'un paquet prend en compte les dépendances, ce qui est censé éliminer l'enfer des dépendances[3], comme alternative à la solution typique consistant à installer plusieurs versions de dépendances en même temps. Ce modèle de gestion de paquets annonce des paquets plus fiables, reproductibles et portables[4].
Développé par |
Eelco Dolstra (d)![]() |
---|---|
Première version |
[1]![]() |
Dernière version |
2.22.1 ()[2]![]() |
Dépôt |
github.com/NixOS/nix![]() |
Écrit en |
C++, Perl, script shell, Nix, Make, GNU Autoconf, Rust, C et Extensible Markup Language![]() |
Système d'exploitation |
Linux, Darwin et FreeBSD![]() |
Type |
Gestionnaire de paquets purement fonctionnel (d) Langage de programmation ![]() |
Licence |
Licence publique générale limitée GNU version 2.1![]() |
Documentation |
nix.dev![]() |
Site web |
nixos.org![]() |
Les paquets Nix sont définis via un langage de programmation fonctionnel paresseux spécialement conçu pour la gestion des paquets. Les dépendances sont suivies directement dans ce langage via un format intermédiaire appelé « dérivations ». Un environnement Nix garde automatiquement une trace des références, ce qui permet aux paquets inutilisés d'être récupérés lorsqu'aucun autre n'en dépend. Au prix de besoins de stockage plus importants, toutes les mises à niveau de Nix sont garanties à la fois atomiques et capables d'une restauration efficace. Cela permet également à plusieurs utilisateurs d'installer des logiciels en toute sécurité sur le même système sans privilèges d'administrateur.
Nix prend entièrement en charge Linux et macOS et peut être installé en toute sécurité côte à côte avec un gestionnaire de paquets existant.
Nix est utilisé pour l'empaquetage et la distribution de logiciels dans l'expérience LHCb du CERN[5].