• # Trés bon mais encore jeune.

    Posté par (site web personnel) . En réponse à la dépêche NixOS 14.12, la distribution Linux sans effet de bord. Évalué à 10. Dernière modification le 28 juillet 2015 à 10:11.

    Je m'amuse avec Nix depuis peu pour une évaluation/testing dans un environment HPC: le coté multi-utilisateur et les builds reproduisibles sont très séduisant dans ce domaine.

    Les habitués de DLFP savent que je n'ai généralement pas les compliments facile, mais je dois bien avouer que je suis bluffé par certains aspects de Nix.

    • Nix est vraiment ce qui s'approche le plus d'un build systeme vraiment reproduisible. Je peux prendre mes nix-expressions, les copier d'une machine sous Debian à une machine sous RHEL7, Maegia, Ubuntu: je SAIS qu'elles vont compilées correctement et je SAIS que mon soft va tourner sans problème. La seule "variable" d'une plat-forme à l'autre étant la version kernel.
      Ça n'a rien à voir de ce point de vue avec RPM ou Deb (qui ont leur propre avantages).

    • Leur approche pour avoir des installations multi-users "sure" est vraiment bien pensée.

    • La gestion des channels est simple et puissante, créer son propre channel est un jeu d'enfant.

    • Le nix shell est un vrai plaisir pour le development.

    Cependant je mettrai quelques point noirs à Nix :

    • L'impossibilité "d'override" une derivation sans lancer la re-compilation de tout ce qui en dépend est chiante, TRES chiante. Je veux pouvoir updater la glibc ou openssl sans recompiler la moitié du monde. Je comprends parfaitement pourquoi mais la possibilité de définir une dérivation "pointer", invariable, qui sert d'intermédiaire serait vraiment la bienvenue.

    • La gestion des "plugins" ou "modules" est généralement assez pénible, principalement due à ce que j'ai écrit précédemment.

    • L'apprentissage du language en lui même peut être rebutante.

    • Le store path est bordélique et pas du tout auto-complétion friendly, au lieu d'utiliser une convention /nix/store/hash()-name, utiliser une convention /nix/store/name/hash ne leur aurait rien coûter.