I Deleted Arch Linux.. (Never Going Back)
Un utilisateur quitte Arch Linux après une compromission massive de l’AUR (1 500 paquets infectés) et installe NixOS, découvrant sa philosophie déclarative et reproductible, tout en partageant les difficultés et astuces de sa migration.

SYNTHÈSE STRUCTURÉE
La compromission de l’AUR Arch Linux
L’intervenant explique qu’Arch Linux a subi une attaque ciblant l’AUR (Arch User Repository). « 400 plus packages. I’m pretty sure there’s more. I’m pretty sure it’s in the thousands, maybe. Oh, yeah. 1,500 AUR packages. » Il mentionne même l’existence d’un script pour détecter les paquets infectés : « It’s this fetching infected package. » Ce contexte justifie son départ d’Arch.
NixOS : une approche déclarative radicalement différente
Contrairement aux distributions impératives (où l’on exécute pacman -S ou apt install), NixOS est déclaratif. L’intervenant résume : « Basically, if you want to install apps, you do this. Now, operating systems are imperative. You do it like this. » La configuration se fait via un fichier unique (configuration.nix), ce qui garantit la reproductibilité.
Installation de NixOS et premier boot
Après avoir flashé l’ISO graphique avec sudo dd, l’utilisateur choisit KDE Plasma via l’installateur graphique (similaire à EndeavourOS ou CachyOS). Il efface son disque pour dire adieu à Arch : « I’m going to erase the entire disc because goodbye Arch. I’m done with Arch Linux. »
Gestion des paquets : configuration.nix et nixos-rebuild switch
Pour installer fastfetch, il édite /etc/nixos/configuration.nix et ajoute le paquet dans la liste environment.systemPackages. Ensuite, il exécute sudo nixos-rebuild switch pour appliquer les changements. « And after doing a lot, we’re going to do sudo nyxos and then rebuild switch. And now the packages are being installed. »
Recherche de paquets sur search.nixos.org
L’intervenant utilise search.nixos.org/packages pour trouver le nom exact des paquets (ex. hyprland). Il souligne : « Search more than 140,000 packages. That’s a lot. » Cette étape est cruciale car les noms diffèrent parfois des autres distributions.
Modularisation de la configuration NixOS
En explorant une configuration GitHub, il découvre qu’il est possible d’importer des modules séparés. Il crée un dossier modules/ et un fichier sddm.nix pour configurer le thème SDDM Astronaut. Il modifie ensuite configuration.nix pour ajouter imports = [ ./modules/sddm.nix ];. « I just learned about this on Nixos. »
Installation de paquets via Nix Flakes
Pour installer fetch (un programme qui anime le logo de la distribution), il active Nix Flakes en ajoutant nix.settings.experimental-features = [ "nix-command" "flakes" ]; dans configuration.nix. Il génère ensuite un fichier flake.nix avec nix flake init et configure les entrées (inputs) et sorties (outputs) pour correspondre à son hostname.
Création d’alias pour simplifier les commandes
Fatigué de taper sudo nixos-rebuild switch et nix run github:anothervoid99/fetch, il crée des alias dans Fish shell :
alias nixrebuild='sudo nixos-rebuild switch'
alias nixconf='sudo vim /etc/nixos/configuration.nix'
alias fetch='nix run github:anothervoid99/fetch'
Il commente : « I added a few aliases. I added fetch. I think I already mentioned that. Nyx rebuild for pseudo Nixos Rebuild Switch. nyx confo vims into the configuration.nix so I don’t have to type a lot. »
Personnalisation de l’environnement
Il installe la police « Iosevka Nerd Font » via configuration.nix, configure Kitty avec kitty.conf (définit font_family Iosevka Nerd Font), et utilise tide pour personnaliser le prompt Fish. Il remplace Firefox par LibreWolf pour plus de confidentialité.
CONCEPTS CLÉS
- Déclaratif vs Impératif : NixOS décrit l’état final du système dans un fichier de configuration, contrairement aux distributions traditionnelles où l’on exécute des commandes séquentielles.
- Nix Flakes : Fonctionnalité expérimentale permettant de définir des dépendances et des sorties reproductibles via un fichier
flake.nix. nixos-rebuild switch: Commande centrale pour appliquer les modifications de configuration (équivalent àpacman -Syumais avec reconstruction de l’environnement).search.nixos.org: Référentiel officiel pour trouver les noms exacts des paquets NixOS.
CONCLUSION
La migration d’Arch vers NixOS illustre un changement de paradigme : passer d’une gestion impérative (et risquée avec l’AUR) à une approche déclarative et reproductible. L’intervenant montre que, malgré une courbe d’apprentissage abrupte (notamment avec les Flakes et la modularisation), NixOS offre une sécurité et une fiabilité accrues. Le message clé : « I still have a lot to learn of course cuz just installed nyxos and uh just like arch just like when I first installed arch I had so much to learn. » La reproductibilité et la centralisation de la configuration en font un choix robuste pour les administrateurs exigeants.