• [^] # Re: En plus, il n'est pas nécessaire de remplacer sa distrib pour le tester

    Posté par . En réponse au journal Nixos la distribution reproductible et déclaratif.. Évalué à 3.

    J'ai commencé avec Debian, puis ArchLinux, et j'utilise maintenant NixOS depuis 2 ans sur mes ordis et serveurs.

    Je trouve ça absolument génial. J'ai appris à empaqueter avec le langage nix, ce qui semble très difficile car la doc qu'on trouve est très technique et on ne trouve pour l'instant pas de tutos bien pédagogiques qui te prennent par la main quand tu pars de zéro. Mais une fois qu'on a compris comment ça fonctionne, c'est hyper simple en fait, le langage est très léger, le nombre d'instructions est très réduit et c'est vraiment puissant.

    Je n'ai aucun doute que cette distrib va finir par s'imposer sur les serveurs à moyen terme car en gros on a la stabilité de Debian, les mises à jour d'ArchLinux (quasiment), et tout un tas d'autres trucs cools comme :

    • rollbacks directement depuis le menu du bootloader sans que ça ne réécrive quoi que ce soit
    • mises à jour auto qui ne s'appliquent qu'au reboot si on veut
    • protection en lecture seule du store (là où sont stockés tous les binaires) qui fait que même root ne peut pas modifier le contenu
    • config versionnable, ce qui veut dire qu'on versionne tout son OS avec quelques fichiers textes (assez dingue)
    • reproductibilité d'une machine à l'autre, donc gain de temps considérable
    • composition de la config avec des modules : on écrit une fois et on réutilise partout où on en a besoin (je me suis fait 1 module pour chaque logiciel, comme ça je compose ma liste de logiciels selon la machine, et il est déjà tout configuré, j'ai juste un import à faire)
    • capacité à build la config sur une autre machine et à installer en local le résultat des builds (hyper cool pour les ordis portables : on build tout sur un serveur puissant, et quand c'est terminé il fait un simple copier/coller des binaires en SSH depuis le serveur vers l'ordi portable, pour la batterie c'est top et ça décharge complètement le CPU, donc on peut continuer à travailler tranquillement ; et si un paquet a déjà été build, il va être repris depuis le cache donc il n'y aura qu'un copier/coller, ça mutualise les ressources entre toutes les machines, c'est assez canon)
    • on peut se créer autant d'environnements qu'on veut, chaque environnement tournant dans un shell isolé : ça permet d'utiliser 10 versions de Python (ou Node.js, ou Firefox, ou n'importe quel logiciel ou bibliothèque) sur la même machine ; méga méga pratique pour le dév, ou quand on travaille avec différents clients ou équipes qui ont chacun des versions différentes. Et bien sûr ça veut dire qu'on peut aussi avoir un environnement avec des variables d'environnement pour chaque projet, avec une config de son IDE pour chaque projet. Tellement pratique.

    Je sais que j'oublie encore pas mal de trucs mais ce sont là les éléments qui m'impactent le plus au quotidien.

    Dans les inconvénients : si on veut bien maîtriser la distrib (ie. la config et faire ses paquets au besoin), il faut apprendre le langage nix, qui n'est vraiment pas compliqué du tout. Ce qui est difficile pour l'instant c'est de comprendre comment fonctionne la distrib et comment nix fonctionne avec tout ça. En fait c'est juste un manque de doc pédagogique. À part ça j'ai franchement du mal à lui trouver un réel inconvénient. Peut être la communauté qui reste encore réduite, mais quand j'ai vu en 2 ans la croissance du nombre de participants des conférences NixOS au FOSDEM, j'ai compris que c'était la distrib qui allait tout défoncer ces prochaines années.