Aller au contenu

NixOS 21.05

·428 mots·3 mins
Auteur
My name
A little bit about me

Mon T450s tourne toujours sur Debian Testing avec apt list changes et me convient parfaitement comme ça. Le X1 Gen3, par contre, se vautrait sur un Windows 10 degueulasse. Le summum ayant été atteint quand un widget météo a été gentiment ajouté dans la barre des taches, comme si je n’étais pas foutu de regarder par la fenêtre pour voir s’il pleuvait.

Pour continuer la discussion avec une connaissance: « Wimési on l’activait pas par défaut, beaucoup de personnes ne sauraient pas que cela existe ». Ce n’est pas comme si les tutos en overlay existait depuis des années.

Comme GNOME 40 est sorti tout récemment, j’ai voulu lui donner un petit galop d’essai, en primeur. Pour en profiter, j’ai également voulu tenter NixOS, qui me faisait de l’oeil depuis un petit moment 😗

De manière générale, GNOME 40 est un plaisir à utiliser, et se rapproche énormément de l’expérience par défaut que l’on pourrait retrouver sur une machine Apple (non, je n’exagère pas). Les channels de Nix sont à jour - les versions des différents logiciels ne sont pas systématiquement les dernières -, et en même temps, elles se rattrapent avec des sous-versions accessibles. Par exemple, installer python3 reprendra par défaut la version 3.8 (alors que Debian Buster est déjà sur la 3.9), tout en autorisant la 3.9, voire la 3.10 si on lui demande poliment via un environnement spécifique:

[fred@nixos:~]$ python --version
python: command not found

[fred@nixos:~]$ nix-shell -p python310

[nix-shell:~]$ python --version
Python 3.10.0a5

[nix-shell:~]$ exit
exit

[fred@nixos:~]$ python --version
python: command not found

Pour le moment (et à part deux glitches au niveau de l’utilisation de ctrl+backspace et sur evolution-ews, répertoriés sur le wiki), cela tourne franchement bien et est très agréable à utiliser.

Un autre exemple pratique concerne la génération de ce blog. Si les outils manquent, il suffit de les installer dans un shell, puis de générer gaiement les sources:

nix-shell -p zola nodejs
these paths will be fetched (5.53 MiB download, 21.70 MiB unpacked):
  /nix/store/0wysch54nfsl7wn192ibq4pzd341lpcm-zola-0.13.0
  /nix/store/5kkjf5wvfvclqj76k9f69c95gw5mfbhc-nodejs-14.17.4
  /nix/store/s42x7xflxz9br1axz9i7583m42j17piy-icu4c-69.1-dev
copying path '/nix/store/0wysch54nfsl7wn192ibq4pzd341lpcm-zola-0.13.0' from 'https://cache.nixos.org'...
copying path '/nix/store/s42x7xflxz9br1axz9i7583m42j17piy-icu4c-69.1-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/5kkjf5wvfvclqj76k9f69c95gw5mfbhc-nodejs-14.17.4' from 'https://cache.nixos.org'

Suivis de npm install et zola serve 👌

En gros, on est très proche d’un environnement autonome que l’on peut démarrer à la demande, pour chaque use case que l’on pourrait avoir.

Je me demande si je ne switcherais pas un serveur ou l’autre vers Nix: comme l’installation est réalisée à partir d’un fichier de dérivations, il est très facile de versionner ce type de fichier, voire de le réutiliser à travers un parc de plusieurs machines.

Bref, 💖