Voila, un mois est passé – à quelques heures près ! – depuis le billet où j’annonçais le début de l’expérience. Je m’attendais à une expérience un peu « pépère » et je n’ai pas été déçu.
L’ensemble a été assez conservateur, et mis à part les changements de noyaux ou de Mozilla Firefox, je n’ai pas constaté énormément de différences. Je pensais avoir droit à une migration de LibreOffice 25.2.x vers la 25.8.x. Mais non, cela sera sûrement réservé à la NixOS 25.11, nom de code « Xanthusia ». Dommage. Les vagues de mises à jour arrivent en moyenne toutes les 36 à 48 heures.
Outre le défaut de la place prise qui devient rapidement problématique, comme je l’ai précisé dans mon billet de mi-chemin, j’ai utilisé au moins deux fois par semaine le duo sudo nix-collect-garbage -d && sudo nixos-rebuild switch pour récupérer de la place. Qui se comptait parfois en centaines de Mo… Et j’ai joué le fou furieux : je ne gardais au maximum que 2 générations, celle utilisée par défaut et la génération pile avant.
Autre point que j’ai trouvé laxatif, c’est la difficulté à avoir un changelog apporté par chaque mise à jour du système. Il faut employer une ligne de commande avec une option expérimentale pour avoir les changements entre les diverses générations présentes sur l’installation. C’est nix profile diff-closures --profile /nix/var/nix/profiles/system --extra-experimental-features nix-command. C’est quand même étrange que lister les changements d’une génération à une autre soit considéré comme expérimental ! Bizarre !
Comment conclure ? La distribution a tenu le choc, elle est suffisamment solide. Il est dommage de devoir perdre du temps pour se faire son fichier /etc/nixos/configuration.nix selon ses propres goûts. C’est plutôt chronophage. Même si une fois que c’est fait, on n’a plus besoin d’y toucher – sauf modifications apportées par un montée en version – que très rarement.
NixOS ? Comme je l’ai dit – et ma courte expérience le confirme – c’est une distribution pensée par des geeks pour des geeks. Pas le genre de distributions que je mettrais dans les mains de n’importe qui.
Le changelog de ce qui est fait ou sera fait lors de l’update est un vrai manque, perso, j’aurai aimé aussi avoir un petit rappel de ce qui est fait, sur que si tu fais les updates manuellement, on ne peut pas dire que c’est visible, c’est une série de chiffres et de lettre avec nix et store et au bout tu as un nom de paquets qui parfois est à peine plus clair, c’est un gros manque, je crois que effectivement tu peux faire un truc avec un paquet de chez eux qui compense ça. Je sais aussi que GLFOS a résolu le soucis avec un script à eux.
Sinon pour la place prise, tu peux dire à ton OS combien de temps tu veux garder les générations, que ce soit en temps (par jours) ou en nombre. Après les SSD qui sont dans nos machines font généralement 100GO, vu que l’on a généralement un SSD et un HDD de 1to si ce n’est plus, je pense pas que ce soit un soucis. Sur ma Gentoo, j’ai 64G de pris pour la racine sur une partition de 100G et quelques.
En vrai, tes soucis viennent que tu n’es pas dans l’optique de nixos mais d’une distribution classique, car tu compares, or ça ne marche pas pareil, à la limite faudrait comparer avec ce qui se rapproche un peu de cet type de distributions bien que différentes, que sont les distributions type silverblue et je sais plus le truc de opensuse en full flatpack.
Après, pour la fraîcheur, je vais te parler d’un truc que tu vas trouver compliquer, mais tu peux faire du « pining », c’est très simple, en gros dans un fichier nix, tu lui dit que pour tel paquet ça doit être prit depuis unstable. Voila ce que j’avais fait avec ollama pour l’avoir depuis unstable:
{ config, pkgs, lib, … }:
let
unstable = import { config = config.nixpkgs.config; };
# Ollama CUDA recompilé avec support Compute Capability 6.1
ollamaWithCUDA61 = unstable.ollama-cuda.overrideAttrs (final: prev: {
preBuild = (prev.preBuild or « ») + »
cmake -B build -DCMAKE_CUDA_ARCHITECTURES= »61″
cmake –build build -j $NIX_BUILD_CORES
»;
});
in
{
environment.systemPackages = with pkgs; [
unstable.ollama
];
services.ollama = {
enable = true;
package = ollamaWithCUDA61;
port = 11434; # facultatif si tu veux le préciser
# home = « /var/lib/ollama »; # si tu veux un dossier personnalisé
# host = « 127.0.0.1 »; # si tu veux limiter l’accès réseau
loadModels = [ « llama3.2 » ];
openFirewall = true;
group = « ollama »;
user = « ollama »;
acceleration = « cuda »;
};
}
et pour ta conclusion de « Pas le genre de distributions que je mettrais dans les mains de n’importe qui », justement, je la mets sur la machine de certaines personnes avec full automatisation, et ça marche du feu de … encore mieux qu’une Debian automatisée.
Merci pour ton long commentaire. En effet, je n’ai pas utilisé NixOS de manière poussée, et je suis trop formatée avec les distributions classiques pour en apprécier l’ensemble à sa juste valeur. C’est juste une expérience qui a été intéressante à faire. Je voulais satisfaire ma curiosité, c’est fait !
Personnellement, ça fait 3 mois que j’ai migré sous NixOs pour le fixe, le serveur auto-hébergement depuis le 4 septembre, et j’en suis à 219 générations pour ce dernier. Avec 17 générations, si tu as juste mis un gnome et libreoffice, et mis à jour tous les 2 jours, tu as à peine gratté la surface !
Venant de Archlinux, tu aurais pu passer sur le canal instable. Mon desktop est sur unstable, le serveur sur stable. Aucun soucis à déplorer, frais et stable comme une Arch. Honnetement, ne pas savoir ce qui se passe sous le capot niveau montée en version ne me dérange absolument pas, limite ça me libère. Une montée en version par semaine, et puis c’est tout.
L’avantage du dossier de configuration, c’est qu’au lieu de réinstaller pour peaufiner, tu peaufine, et puis c’est tout.
Heureux pour toi que tout fonctionne. J’avais dès le début mis en place les logiciels additionnels que je voulais. Ce qui m’a simplifié la vie par la suite.
J’ai bien essayé une machine virtuelle avec une NixOS unstable, et mis à part des options dans le fichier /etc/nixos/configuration.nix à modifier, je n’ai pas vu de grandes différences, comme la montée en version d’un gros logiciel comme LibreOffice.
Pour répondre à Seb95, NixOS est beaucoup plus riche que Silverblue et autres distro atomic pures (ex : VanillaOS, qui semble comateuse, est ou était mixte). Dans Sulverblue tu as l’OS qui est identique en tout point du monde + les flatpaks. En cas de problème tu fais un rollback vers un snapshot plus ancien. C’est la base. Tu peux introduire néanmoins des rpm mais dans ce cas-là tu rebases totalement ton système et cela prend assez de temps (plus il y a de rpm…) Bref, semi-atomic au final puisque les maj de rpm ne sont pas automatiques… (comme (K)ubuntu avec les snaps)
NixOS est pour les utilisateurs avancées, Silverblue & cie (les variantes de Blue Planet) peut être utiliser par des tous débutants. (même si toolbox permet d’aller beaucoup plus loin). C’est vraiment pour celles et ceux qui utilisent toujours les mêmes applis en flatpak, plus quelques développeurs qui containarisent avec toolbox.