• # NixOS

    Posté par (site web personnel) . En réponse au journal Faciliter la configuration d'un ordinateur portable (ou fixe) sous Debian GNU/Linux 10 (Buster). Évalué à 3.

    C'est typiquement le genre de chose que fait très bien NixOS: https://nixos.org/

    Toute la configuration de ton système est décrite dans un (ou plusieurs) fichier de conf qu'il est facile de versionner. Il n'y a pas "d'étapes" lors de l'installation, ou de configuration à modifier, ton système est une unique configuration qui va être déployée de façon atomique.

    À titre d'exemple, au travail nous utilisons des dell XPS 13. J'avais un modèle de 2017 qui m'a été changé vers un modèle de 2018. Lancement du live cd, copie de ma configuration, j'ai juste adapté une ligne ou deux pour prendre en compte la densité de l'écran qui n'est pas la même. nixos-install et quelques minutes plus tard, j'avais exactement ma configuration déployée, avec ma configuration d'emacs, mon .gitrc, mes comptes utilisateurs, mes images docker pre-chargés, mon installation de wine pour jouer à Diablo. Mes paramètres de configuration GTK sont aussi décrits (avec https://github.com/rycee/home-manager)

    NixOS vient avec quelques autres avantages, comme nix prè-installé, la possibilité de booter sur une ancienne configuration (i.e. toutes les configuration précédentes sont sauvegardés). Dans le rare cas ou une mise à jour se passe mal (jamais arrivé en 2 ans), tu peux reprendre la dernière version et continuer à travailler.

    Home-manager peut être utilisé sans NixOS pour seulement décrire son environnement personnel, c'est à dire toutes les applications installée pour un utilisateur particulier, ses services personnel (systemd --user) et la configuration de toutes ses applications.

    Quelques contraintes pour NixOS, c'est une distribution linux différente, ce n'est donc pas la solution si vous devez absolument conserver un environnement debian ou autre. NixOS est aussi très strict sur la reproductibilité et n'expose dans l’environnement par défaut pour ainsi dire rien. Ainsi un binaire pré-compilé chargé sur NixOS a de grande chance de ne pas fonctionner. Je vois cela comme un avantage (i.e. cela force la reproducibilité), et en pratique c'est très rare que nixpkgs (i.e. la base de paquet de nix, donc NixOS) n'ai pas le paquet demandé.