Ceci est une ancienne révision du document !



Nix, le gestionnaire de paquets

Nix est un gestionnaire de paquets fonctionnel, il n'est pas liés à une distribution particulière, il est mutli-plateforme.

Quel intérêt ?

  1. C'est un moyen efficace d’installer des paquets qui ne sont pas disponibles via le gestionnaire de paquets de sa distribution ;
  2. On peut tester l’installation de programmes ou bibliothèques sans polluer son système ; Nix conserve même l’historique des installations et permet de revenir aux états antérieurs ;
  3. Nix gère les paquets efficacement en calculant une somme de contrôle du paquet ; ainsi, quand deux utilisateurs installent une même version d’un paquet, c’est le même dossier d’installation qui est utilisé, ce partage est sans risque car le dossier est en lecture seule et ne sera jamais supprimé tant qu’un utilisateur y fait référence ;
  4. Ce n’est pas un système de conteneurs ni de machines virtuelles, les logiciels installés par Nix sont exécutés directement par le système.
  5. Nix permet de créer des environnements virtuels. Par exemple, un développeur Python peut utiliser directement Nix pour créer des environnements spécifiques à chaque projet, avec les bibliothèques nécessaires. Pas besoin de passer par virtualenv, conda ou autre.
  6. Avoir des builds reproductibles (on peut passer d'une distribution à une autre et avoir la garantie de pouvoir recompiler à l'identique notre logiciel)

Il stocke tous les paquets isolés les uns des autres dans un magasin de paquets. Cela permet que les nouvelles configurations n'écrasent pas les anciennes et que plusieurs versions d'un paquet puissent coexister.

curl https://nixos.org/nix/install | sh
echo ". $HOME/.nix-profile/etc/profile.d/nix.sh" >> ~/.bashrc
source ~/.bashrc

ajouter un canal (dépôt) de paquets :

nix-channel --add https://nixos.org/channels/nixos-19.09 nixpkgs
nix-channel --update

Installer un logiciel dans l'environnement utilisateur :

nix-env -iA nixpkgs.geany

une fois l'installation effectué, la version de geany installé par Nix sera votre version par défaut.

echo 'export XDG_DATA_DIRS=$HOME/.nix-profile/share:$HOME/.share:$XDG_DATA_DIRS' >> /etc/profile.d/nix.sh

Store complet : les logiciels fournis par Nix

Voir https://nixos.org/nixos/packages.html

Pour rechercher un paquet en ligne de commande

nix search gcompris
  • nix.1579548535.txt.gz
  • Dernière modification: Le 20/01/2020, 20:28
  • par moths-art