Skip to main content
Seb's blog
logo PassionGNU/Linux

Nixos, une distribution trop tranquille?

J’écris ce billet, au départ dans un but d’expliquer l’intérêt de cette distribution et plus je suis dans l’optique d’écrire et plus je me rends compte à quel point je suis touché par son utilisation.

Pour le coup, elle me fait penser aux Générateurs de Sites Statiques, je l’ai souvent dit ici, Nixos est aux distributions linux ce que les GSS sont aux CMS, et comme je le dis toujours je ne sais pas comment j’ai pu faire autrement le blog avant d’utiliser un GSS, depuis que je connais Nixos, j’ai le même sentiment, c’est vraiment impressionnant.

Quelles sont les points forts de la distribution? Elle est immuable, atomique, déclarative, et a tout ou presque dans ses dépôts, voila ses forces. Le point faible, pour un vieux lascar linuxien, rien ou juste les habitudes --comme non FHS-- qui changent mais c’est le cas sur toutes les immuables.

Comme je le disais elle est donc immuable et atomique, elle l’est mais pas comme Aeon (openSUSE) qui l’est avant tout grâce à son système de fichier (BTRFS) mais par son fonctionnement, elle a été pensé ainsi dès le début.

Et avant tout c’est ce coté déclarative qui en est sa force presque exclusivement, car l’immuable/atomique on connaît et tous vont dans ce sens, que ce soit RedHat et sa Fedora Siverblue ou encore openSUSE avec ses MicroOS, Aeon et autres. Et encore je ne parle que des plus connues. Pour le coup, Nixos est bien plus intéressante car va plus loin et apporte avec elle cette déclarativité qui est autrement plus intéressant en apportant ce que je connaissais déjà avec les GSS pour mon blog en remplacement des CMS plus classiques que sont Spip, Wordpress ou PluXml, et qui me facilite la vie.

Mais ça ne pourrait être totalement parfait si ce n’est qu’en plus Nix est intelligent et s’attends à des options connues par lui avec leurs réponses attendues. Par exemple, si je faisais volontairement une erreur comme mettre en layout FRE au lieu du attendu FR, il m’empêcherait d’aller plus loin et m’inciterait à changer pour FR.

Je change ceci qui est attendu par Nix:

  # Configure keymap in X11
  services.xserver.xkb = {
    layout = "fr";

en ceci:

  # Configure keymap in X11
  services.xserver.xkb = {
    layout = "fre";

et le résultat ne se fait pas attendre:

[sebastien@debiancerlinux:~]$ sudo nixos-rebuild switch
building Nix...
building the system configuration...
these 4 derivations will be built:
  /nix/store/kd0v7b6bk5nc10d44f8rd5v42ghshk2i-etc-X11-xorg.conf.d-00-keyboard.conf.drv
  /nix/store/5pj6si93d145fw1gac8dkykc42zvjfhb-etc.drv
  /nix/store/af16fw05dgvyr86bynbxs3qfnnp8sg3r-xkb-validated.drv
  /nix/store/zrkif2asiwryy4mj7kzx03br37ihi7s8-nixos-system-debiancerlinux-24.05.675.805a384895c6.drv
this path will be fetched (0.00 MiB download, 0.02 MiB unpacked):
  /nix/store/11zjdvij5m379iy4nan4nwbp7a2zqzr2-xkbvalidate
building '/nix/store/kd0v7b6bk5nc10d44f8rd5v42ghshk2i-etc-X11-xorg.conf.d-00-keyboard.conf.drv'...
copying path '/nix/store/11zjdvij5m379iy4nan4nwbp7a2zqzr2-xkbvalidate' from 'https://cache.nixos.org'...
building '/nix/store/af16fw05dgvyr86bynbxs3qfnnp8sg3r-xkb-validated.drv'...
building '/nix/store/5pj6si93d145fw1gac8dkykc42zvjfhb-etc.drv'...

The value `fre' for keyboard layout is invalid.

Please check the definition in `services.xserver.xkb.layout'.

Detailed XKB compiler errors:

    [XKB-338] Couldn't find file "symbols/fre" in include paths
    [XKB-338] 1 include paths searched:
    [XKB-338]   /nix/store/4d6p2fvack9fzcfp78xw9g45wz6m0pri-xkeyboard-config-2.41/etc/X11/xkb
    [XKB-338] 3 include paths could not be added:
    [XKB-338]   /homeless-shelter/.config/xkb
    [XKB-338]   /homeless-shelter/.xkb
    [XKB-338]   /etc/xkb
    [XKB-769] Abandoning symbols file "(unnamed)"
    Failed to compile xkb_symbols
    Failed to compile keymap

error: builder for '/nix/store/af16fw05dgvyr86bynbxs3qfnnp8sg3r-xkb-validated.drv' failed with exit code 1
error: 1 dependencies of derivation '/nix/store/zrkif2asiwryy4mj7kzx03br37ihi7s8-nixos-system-debiancerlinux-24.05.675.805a384895c6.drv' failed to build

ou encore essayons de changer la locale:

  # Select internationalisation properties.
  i18n.defaultLocale = "fr_FR.UTF-9";

et voyons le retour:

Error: unsupported locales detected:
fr_FR.UTF-9/UTF-8 \
You should choose from the list above the error.
/nix/store/xfhkjnpqjwlf6hlk1ysmq3aaq80f3bjj-stdenv-linux/setup: line 131: pop_var_context: head of shell_variables not a function context
error: builder for '/nix/store/097sp6dj0cp74w860zijia9sxi8i43zc-glibc-locales-2.39-52.drv' failed with exit code 1
error: 1 dependencies of derivation '/nix/store/wnqnbwxkb6f32nvqgsmgrh7wssrw43bn-nixos-system-debiancerlinux-24.05.675.805a384895c6.drv' failed to build

il nous demande clairement de choisir UTF-8 Error: unsupported locales detected: fr_FR.UTF-9/UTF-8 \.

Pour finir, je dirais ceci, pour autant et malgré tout le gain apporté, et-ce alors même que je pense que c’est ça l’avenir, je ne pense pas que c’est pour demain, on a trop de contrariétés, de limitations, de choses qui se font bien moins facilement et surtout ce n’est pas prêt en sortie de boite pour être utilisé.

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