Test: NixOS 18.03 Impala: une distro de conception originale, mais…

 

Chose promise, chose due, le test de la distribution NixOS a été fait dans les règles de l'art par votre serviteur.

Avant de dépecer la bête, il s'agit de rappeler les particularités de cette distribution.

Entièrement bâtie autour du gestionnaire de paquets Nix, sorti à cette occasion en version 2.0, NixOS est également gérée par Nix en tant que maître d'oeuvre du kernel, des applications et des fichiers de configuration. Nix est donc un outil très puissant de construction et de gestion de l'OS mais aussi sa principale faiblesse, pour des raisons qui seront énoncées plus bas.

En bon élève, je télécharge l'ISO recommandée par le site, à savoir la version 18.03 live cd graphique sous KDE.

Après avoir booté le système sur une clef USB sur ma machine de test dont les spécifications se trouvent ici, apparaît un shell sur lequel il est possible de lancer une commande pour voir lancer un bureau sous KDE Plasma 5.12. Rien de bien exploitable sur ce live CD, si ce n'est que la préinstallation d'un GParted pour partitionner son disque dur et un lien vers la documentation d'installation.

Je partitionne mon disque dur avec GParted, puisque on me donne l'occasion de le faire à cet instant et je reboot la machine pour lancer l'installation via le shell et je configure une connexion SSH afin d'installer le système à partir de ma machine principale.

Au niveau des commandes, rien de bien différent qu'à l'accoutumée pour monter les volumes du disque dur et nommer un point de boot UEFI.

 

Puis vient la génération d'un fichier de configuration dans lequel je modifie des lignes afin de créer un boot UEFI fonctionnel.

 

Particularité de Nix, et de NixOS ,"nixos-install" permet d'installer un système minimal en se basant sur le fichier configuration.nix sur lequel Nix va construire et gérer applications et diverses configurations. Le Kernel utilisé dans cette distribution est le 4.14.

 

Pour précision, les ISO de la version 18.03 présentent un bug d'installation du bootloader EFI, faisant donc échouer l'installation. Après recherche, il semblerait que le bug soit largement étendu et il serai conseillé de prendre l'ISO de la version précédente pour terminer l'installation. Pour ma part, j'ai du installer le bootloader manuellement en désactivant l'EFI sur le fichier de configuration Nix au préalable.

 

Une fois l'installation du système minimal terminée, je reboot la machine et je m'ajoute en tant qu'utilisateur avec les droits qui lui sont liés.

.Un rafraîchissement de la liste des applications s'impose et j'en profite pour configurer un peu plus mon fichier configuration.nix en activant X11, KDE plasma.

La commande nixos-rebuild switch permet de prendre en compte toutes ces modifications, je reboote la machine pour voir apparaître un écran de login et un bureau KDE assez classique et vide de toutes applications.

 

 

Je configure à nouveau le fichier configuration.nix en inscrivant  Steam, Firefox, Spectacle (pour les screenshots), en réglant le clavier sur fr, la date, l'activation de pulse-audio, etc... suivi d'un nixos-rebuild switch pour prendre en compte les modifications

 

Le concept de distribution est assez capillotracté dans le sens où NixOS présente une expérience basée sur la liberté de choisir ses applications, tout est à installer et rien n'est fourni. C'est à la fois un très bon point pour ceux qui n'aiment pas les OS "bloatés" jusqu'à la moëlle mais aussi un défaut dans le sens où la machine n'est clairement pas fonctionnelle dans l'immédiat. Ce n'est qu'une question de point de vue.

Ma machine étant doté de la technologie Optimus, je lance un terminal dans lequel je configure encore une fois le fichier configuration.nix pour y inscrire bumblebee, un nixos-rebuild switch et une configuration de bumblebee plus tard. Le système est fonctionnel, à la fois sur le chip graphique Intel et NVidia (GTX 960M)

Une installation de DOTA 2 sur Steam s'impose, s'ensuit d'un test sous Bumblebee en poussant les presets graphiques à leurs maximum. Le jeu oscille entre 8 et 12FPS, ce qui est clairement insuffisant et bien loin de ce que fait la concurrence en terme de performance.

 

A noter qu'il existe également un tas de petits bugs très pénibles ou des choix de conception de système par défaut assez discutables, comme le bash pas activé par défaut, beaucoup de liens orphelins, des commandes qui présentent des erreurs,etc...

 

En effet, cela s'explique par la conception particulière de NixOS, qui a tendance à vouloir compartimenter les applications, lesquelles n'ont pas été codées pour être enfermées ce qui créé parfois des liens orphelins ou des appels de codes qui ne mènent à rien dans l'arborescence très singulière de NixOS. En réalité, certaines applications, ou certains paquets nécessiteraient un gros travail de réécriture ou de correction pour pouvoir fonctionner à 100%, là où cela ne poserai aucun problème sur une distribution à arborescence plus classique. Arborescence, qui en passant, est assez illisible, dans le sens où les dossiers sont nommés suivant un hash unique permettant au système son identification, mais qui ne rend pas vraiment service à l'utilisateur.

NixOS est paradoxalement un OS très facile à installer, pour peu que l'on maîtrise les installations par le Shell, mais aussi un OS assez complexe à configurer alors que le concept de fichier unique de configuration présentait un semblant de facilité. La sauvegarde de ce fichier permet de réinstaller un système entier à partir de zéro en un temps record, puisqu'il il suffit de le copier et de lancer un rebuild pour retrouver un OS fonctionnel complètement à l'image de ce que l'on souhaite. Aussi, Nix possède un très bon système de détection du hardware qui mâche une bonne partie du travail lors de l'installation des pilotes.

Pour ma part, il m'a été très pénible de configurer NixOS via son configuration.nix , dans le sens où il m'a obligé à changer mes logiques de compréhension habituelles. Finalement, pour un OS mettant en avant une certaine forme de simplicité de centralisation, j'ai été assez dérouté par le manque d'intuitivité de certaines lignes de codes de configuration qui cherchent à faire compliquer là où les choses sont infiniment plus simples sur des distros plus conventionnelles.

Avantage de ce mode de configuration, il est possible de revenir en arrière très facilement, à tel point qu'il est quasiment impossible de casser définitivement son système avec les rollbacks sélectionnables lors du boot. La puissance de Nix fait qu'il est également presque impossible de valider une configuration mal écrite ou présentant des erreurs, un bon point qui limite les installations dangereuses.

Pour conclure, NixOS méritait un test du fait de sa conception très avant-gardiste, mais malheureusement contrebalancé par une douche froide. Sur le papier c'était très séduisant mais dans les faits c'est une distro très buggée pour une fixed-release, bien plus que certaines distros en rolling-release en dépôt instable...Et  ça c'est clairement rédhibitoire pour un usage de tous les jours. Aussi, les performances gaming en font une des distros les plus médiocres sur le plan de la performance. Le temps que demande sa configuration, ne vaut clairement pas la chandelle si l'on doit comparer l'expérience que délivrera une Gentoo ou une Arch pour un temps identique d'investissement.

NixOS présente un concept séduisant, l'innovation ne demande qu'à être encouragée et soutenue, car il reste encore énormément de travail pour hisser sa singularité à la hauteur des cadors de la concurrence.

Poster un Commentaire

Please Login to comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  Subscribe  
Me notifier des