Installation de Guix
Installation de GNU Guix avec Nonguix
Section titled “Installation de GNU Guix avec Nonguix”GNU Guix est un gestionnaire de paquets purement fonctionnel et une distribution GNU/Linux déclarative. Nonguix est un canal complémentaire qui ajoute les paquets non-libres nécessaires pour une utilisation quotidienne (pilotes, firmware, etc.).
Installation du système de base
Section titled “Installation du système de base”Téléchargez l’image ISO depuis le site officiel :
wget https://ftp.gnu.org/gnu/guix/guix-system-install-1.4.0.x86_64-linux.isoCréez une clé USB bootable :
sudo dd if=guix-system-install-1.4.0.x86_64-linux.iso of=/dev/sdX bs=4M status=progress && syncDeux options s’offrent à vous pour l’installation :
- Mode graphique : un installateur guidé accessible depuis le menu de démarrage
- Mode manuel : partitionnement et configuration via la ligne de commande
Suivez l’installateur pour configurer votre système (partitions, utilisateur, réseau, etc.).
Comprendre les canaux Guix
Section titled “Comprendre les canaux Guix”Un canal dans Guix est un dépôt Git contenant des définitions de paquets. C’est l’équivalent des PPA sous Ubuntu ou des repositories sous Arch. Par défaut, Guix utilise le canal officiel qui ne contient que des logiciels libres. Le canal Nonguix étend cette collection avec des paquets non-libres indispensables : pilotes propriétaires, firmware, noyau Linux complet, etc.
Les canaux permettent de :
- Étendre le catalogue de paquets disponibles
- Maintenir vos propres définitions de paquets
- Contrôler précisément les versions utilisées
Configuration du serveur de substituts
Section titled “Configuration du serveur de substituts”Les substituts sont des binaires pré-compilés. Sans eux, Guix compile tout depuis les sources, ce qui peut prendre des heures. Le serveur de substituts officiel fournit des binaires pour accélérer les installations.
Pour installer le serveur de substitutions de Nonguix, vous pouvez ajouter dans votre fichier /etc/config.scm, dans les services le code suivant :
(operating-system (services (modify-services %desktop-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (append (list "https://substitutes.nonguix.org") %default-substitute-urls)) (authorized-keys (append (list (local-file "./signing-key.pub")) %default-authorized-guix-keys)))))) ...)Si on regarde attentivement, on voit que l’on a besoin d’une clé d’authorisation, qui est téléchargeable (faites attention à ce que le chemin corresponde) ici : https://substitutes.nonguix.org/signing-key.pub
Vérification
Section titled “Vérification”Testez la disponibilité des substituts :
guix weather firefoxCette commande va vous permettre de connaître le taux de disponibilité de firefox, savoir si cela va être +/- longs et si un substitut est disponible sur un serveur.
Ajout du canal Nonguix
Section titled “Ajout du canal Nonguix”Configuration des canaux
Section titled “Configuration des canaux”Créez le fichier de configuration des canaux :
mkdir -p ~/.config/guixnano ~/.config/guix/channels.scmAjoutez le contenu suivant :
(cons* (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix") (branch "master") (introduction (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) %default-channels)L’introduction et l’empreinte GPG permettent de vérifier l’authenticité du canal.
Mise à jour des canaux
Section titled “Mise à jour des canaux”Mettez à jour Guix avec les nouveaux canaux :
guix pullhash guixLa commande guix pull télécharge les nouvelles définitions de paquets depuis tous vos canaux. L’opération peut prendre plusieurs minutes.
Vérifiez que Nonguix est bien configuré :
guix describeVous devriez voir les canaux guix et nonguix listés avec leurs commits respectifs.
Installation du noyau Linux non-libre
Section titled “Installation du noyau Linux non-libre”Le noyau Linux-libre fourni par défaut exclut les blobs propriétaires. Cela pose problème pour le WiFi, les GPU récents, etc. Le noyau Linux complet depuis Nonguix résout ces limitations.
Modification de la configuration système
Section titled “Modification de la configuration système”Éditez votre configuration système :
sudo nano /etc/config.scmImportez les modules nécessaires au début du fichier :
(use-modules (gnu) (nongnu packages linux) (nongnu system linux-initrd))(use-service-modules networking ssh)Ajoutez le noyau Linux, le microcode CPU et les firmware dans la configuration :
(operating-system (kernel linux) (initrd microcode-initrd) (firmware (list linux-firmware))
(host-name "guix-system") (timezone "Europe/Paris") (locale "fr_FR.utf8")
;; ... reste de la configuration)Explications :
kernel linux: utilise le noyau Linux complet au lieu de Linux-libreinitrd microcode-initrd: charge le microcode CPU (Intel/AMD) au démarragefirmware (list linux-firmware): installe les firmware propriétaires nécessaires
Reconfiguration du système
Section titled “Reconfiguration du système”Appliquez la nouvelle configuration :
sudo guix system reconfigure /etc/config.scmCette commande :
- Télécharge le noyau Linux et les firmware (ou leurs substituts)
- Génère une nouvelle génération du système
- Met à jour GRUB avec la nouvelle configuration
Redémarrez pour utiliser le nouveau noyau :
sudo rebootAu démarrage, GRUB affichera la nouvelle génération avec le noyau Linux complet.
Vérification
Section titled “Vérification”Après le redémarrage, vérifiez le noyau utilisé :
uname -rVous devriez voir une version du noyau Linux standard, pas Linux-libre.
Installation de paquets supplémentaires
Section titled “Installation de paquets supplémentaires”Une fois le système démarré, installez des paquets dans votre profil utilisateur :
guix install git vim htopRessources
Section titled “Ressources”- Documentation officielle : https://guix.gnu.org/manual/
- Canal Nonguix : https://gitlab.com/nonguix/nonguix
- Cookbook Guix : https://guix.gnu.org/cookbook/