Skip to main content
Seb's blog

Ça va être dur de revenir sur une distribution plus standard...

Je m'intéresse de plus en plus à mon nouveau jouet du nom de Nixos, je me dis que ça va être dur de revenir sur ma Debian ou même openSUSE ou encore tout autre chose qui est plus "naturelle", j'aime vraiment le concept de cette distribution, cette solidité que donne l'ensemble.

Je l'ai mis en brac, je l'ai torturé, je l'ai soumis à tout ce que je savais faire et elle tient. Pire quand je me trompe dans le fichier de configuration, nix me corrige en me disant ce qui merde. Puisqu'un exemple vaut mieux qu'un long discours, je vais vous en faire une démonstration, je vais faire un faute volontaire:

# Select internationalisation properties. # i18n.defaultLocale = "en_US.UTF-8"; # console = { # font = "Lat2-Terminus16"; # keyMap = "us"; # }; i18n.defaultLocale = "fr_FR.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "fre"; };

Pour l'exemple, au lieu de keyMap = "fr"; , je rajoute un "e" keyMap = "fre"; et voila ce que dit nix:

# nixos-rebuild switch building Nix... building the system configuration... these derivations will be built: /nix/store/3ccsgvb9w3x8kc01pd3s0hz298p5n6p0-link-units.drv /nix/store/q628lwhmkhcs2wimk5ln09zjpynpnah3-keymap.drv /nix/store/1k5kgci4jn418wlqwkhjm585b5176apk-stage-1-init.sh.drv /nix/store/7ffr738sq0pvqnwwgf4f6qn9lj5hpjf7-initrd-linux-5.10.88.drv /nix/store/s6xk5zq8npjxly0vh9f76viqcymiyk9z-system-units.drv /nix/store/v6jkbx6fjalhzsvfjaals5lj7jqr0z7v-etc.drv /nix/store/cz4hjpy967m3bss6yhpn5c7f9383i233-nixos-system-debiacerlinux-21.11.334934.8a053bc2255.drv building '/nix/store/s6xk5zq8npjxly0vh9f76viqcymiyk9z-system-units.drv'... building '/nix/store/q628lwhmkhcs2wimk5ln09zjpynpnah3-keymap.drv'... building '/nix/store/3ccsgvb9w3x8kc01pd3s0hz298p5n6p0-link-units.drv'... loadkeys: Unable to open file: fre: No such file or directory builder for '/nix/store/q628lwhmkhcs2wimk5ln09zjpynpnah3-keymap.drv' failed with exit code 1 cannot build derivation '/nix/store/1k5kgci4jn418wlqwkhjm585b5176apk-stage-1-init.sh.drv': 1 dependencies couldn't be built cannot build derivation '/nix/store/7ffr738sq0pvqnwwgf4f6qn9lj5hpjf7-initrd-linux-5.10.88.drv': 1 dependencies couldn't be built cannot build derivation '/nix/store/cz4hjpy967m3bss6yhpn5c7f9383i233-nixos-system-debiacerlinux-21.11.334934.8a053bc2255.drv': 1 dependencies couldn't be built error: build of '/nix/store/cz4hjpy967m3bss6yhpn5c7f9383i233-nixos-system-debiacerlinux-21.11.334934.8a053bc2255.drv' failed

C'est pas super clair et ça aurait le mérite d'avoir un peu de couleur comme les retours de zypper mais l'important est là:

loadkeys: Unable to open file: fre: No such file or directory

Je corrige et voila:

# nixos-rebuild switch building Nix... building the system configuration... activating the configuration... setting up /etc... reloading user units for sebastien... setting up tmpfiles

Le truc c'est qu'une fois que notre fichier principal de config à été accepté une fois et a permis de construire le système, on a l'impression d'être dans un tank que rien ne peux casser. C'est impressionnant car on a l'impression d'être sur un système en lecture seule, tant qu'on ne lui a pas dit qu'on veut tel changement, rien ne bouge.

Je me suis fait mon premier nix-shell pour l'utilisation de pelican:

# python.nix with (import {}); let my-python-packages = python-packages: with python-packages; [ pelican beautifulsoup4 blinker buildPythonPackage docutils feedgenerator fetchFromGitHub git glibcLocales jinja2 lxml markdown markupsafe mock pytestCheckHook pandoc pillow pygments python-dateutil pythonOlder pytz rich pytest-xdist six typogrify unidecode # other python packages you want ]; python-with-my-packages = python3.withPackages my-python-packages; in mkShell { buildInputs = [ python-with-my-packages ]; }

Oui il est tout option, le plus sympa c'est que rien n'est installé sur ma machine, c'est dans un environnement virtuel. C'est comme si j'avais installé tous ces paquets mais je ne l'ai pas fait.

Au-delà de la partie sympa et excitante de la nouveauté, le truc c'est que je ne me sens pas à l'aise pour le moment pour deux choses, mettre en place un serveur, peut importe http ou mail ou juste un dlna, je sais toujours pas faire car il n'y a pas la configuration dans /etc mais elle se trouve à la place dans notre fichier central. L'autre c'est la création de paquets, ou simplement la maintenance de paquets, par exemple pelican est en 4.6.0, comment je fais pour faire le paquet en version 4.7.1?

Je serais prêt à lâcher Debian et openSUSE, tellement que Nixos me plaît, son fonctionnement, son utilisation, mais si je ne suis pas capable d'être autant autonome que sous ma Debian, bah je lâcherai la chose et c'est vraiment dommage.

Commencer la discussion: Venez écrire un commentaire dans le forum