From 07ff20f8dc814ae719866fabe2bc1f248479d172 Mon Sep 17 00:00:00 2001 From: neox Date: Mon, 8 Jul 2024 15:46:23 +0200 Subject: [PATCH] =?UTF-8?q?am=C3=A9lioration=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.scm | 186 ++++++++++++++++++--------------- procédure_installation_guix.md | 7 +- 2 files changed, 106 insertions(+), 87 deletions(-) diff --git a/config.scm b/config.scm index 47dbb7d..b0b3268 100644 --- a/config.scm +++ b/config.scm @@ -1,7 +1,7 @@ ;;; -;;; Configurations GNU Guix des ordinateurs de neox +;;; Configurations GNU Guix système ;;; -;;; Copyright (C) 2023 Adrien 'neox' Bourmault +;;; Copyright (C) 2024 Adrien 'neox' Bourmault ;;; ;;; This is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by @@ -16,6 +16,9 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with this. If not, see . + +;;; Déclarations et importations + ;; Indique quels modules importer pour accéder aux variables ;; utilisées dans cette configuration. (use-modules (gnu)) @@ -42,8 +45,9 @@ SUBSYSTEM==\"usb\", GROUP=\"spice\", MODE=\"0660\" SUBSYSTEM==\"usb_device\", GROUP=\"spice\", MODE=\"0660\" "))) -;; Configuration du système +;;; Configuration du système ;; C'est le point d'entrée de la configuration + (operating-system (locale "fr_FR.utf8") (timezone "Europe/Paris") @@ -53,19 +57,22 @@ SUBSYSTEM==\"usb_device\", GROUP=\"spice\", MODE=\"0660\" ;; Application de la configuration sudoer personnalisée (définie plus haut) (sudoers-file %sudoers-specification) - ;; La liste des comptes utilisateurs (« root » est implicite). - (users (cons* (user-account - (name "jerome") - (comment "Jerome") - (group "users") - (home-directory "/home/jerome") - ;; ajout de groupes pour virt-manager - (supplementary-groups '("wheel" "netdev" "audio" "video" "libvirt" "kvm" "scanner" "spice"))) - %base-user-accounts)) + ;;; La liste des comptes utilisateurs (« root » est implicite). + (users + (cons* + (user-account + (name "jerome") + (comment "Jérôme") + (group "users") + (home-directory "/home/jerome") + ;; ajout de groupes pour virt-manager + (supplementary-groups '("wheel" "netdev" "audio" "video" "libvirt" "kvm" "scanner" "spice"))) + %base-user-accounts)) - ;; Quelques paquets installés au niveau du système. + ;;; Paquets installés au niveau du système. ;; On installe notamment network-manager et son extension pour openvpn, - ;; ou encore libvirt/virt-manager pour la virtualisation + ;; ou encore libvirt/virt-manager pour la virtualisation, et plein de paquets + ;; utiles. (packages (append (specifications->packages @@ -227,93 +234,100 @@ SUBSYSTEM==\"usb_device\", GROUP=\"spice\", MODE=\"0660\" "xrdp" "yt-dlp" "zstd")) - %base-packages)) + %base-packages)) - ;; Services du système. + + ;;; Services du système. ;; On en profite pour modifier le comportement par défaut de quelques services. (services - (modify-services (append (list - (service gnome-desktop-service-type) - - ;; Service d'impression - (service cups-service-type - (cups-configuration - (web-interface? #t) - (extensions - (list cups-filters epson-inkjet-printer-escpr hplip-minimal)))) - - (service sane-service-type) - - ;; Service KVM/Libvirt pour virt-manager - (service libvirt-service-type) - (service virtlog-service-type) - - ;; Application de la configuration spice personnalisée (définie plus haut) - (udev-rules-service 'spice %spice-rules #:groups '("spice")) - - ;; Modification des limites mémoires pour les accès audio temps réel - ;; (utile notamment pour Ardour) - (service pam-limits-service-type + (modify-services + + ;; Ajouts de services + (append (list - (pam-limits-entry "@audio" 'both 'rtprio 99) - (pam-limits-entry "@audio" 'both 'memlock 'unlimited))) + (service gnome-desktop-service-type) - (service openvpn-client-service-type - (openvpn-client-configuration - (proto tcp) - (fast-io? #t) - (ca "/etc/openvpn/fdn.crt") - (auth-user-pass "/etc/openvpn/fdn.creds") - (remote + ;; Service d'impression + (service cups-service-type + (cups-configuration + (web-interface? #t) + (extensions + (list + cups-filters + epson-inkjet-printer-escpr + hplip-minimal)))) + + ;; Service du scanner + (service sane-service-type) + + ;; Service KVM/Libvirt pour virt-manager + (service libvirt-service-type) + (service virtlog-service-type) + + ;; Application de la configuration spice personnalisée (définie plus haut) + (udev-rules-service 'spice %spice-rules #:groups '("spice")) + + ;; Modification des limites mémoires pour les accès audio temps réel + ;; (utile notamment pour Ardour) + (service pam-limits-service-type (list - (openvpn-remote-configuration - (name "vpn.fdn.fr") - (port 1194)) - (openvpn-remote-configuration) - (name "vpn-rw.fdn.fr") - (port 80)) - (openvpn-remote-configuration) - (name "vpn-rw.fdn.fr") - (port 53)))) + (pam-limits-entry "@audio" 'both 'rtprio 99) + (pam-limits-entry "@audio" 'both 'memlock 'unlimited))) - (set-xorg-configuration - (xorg-configuration (keyboard-layout keyboard-layout)))) + ;; Service du client OpenVPN (pré-configuré pour FDN) + (service openvpn-client-service-type + (openvpn-client-configuration + (proto tcp) + (fast-io? #t) + (ca "/etc/openvpn/fdn.crt") + (auth-user-pass "/etc/openvpn/fdn.creds") + (remote + (list + (openvpn-remote-configuration + (name "vpn.fdn.fr") + (port 1194)) + (openvpn-remote-configuration) + (name "vpn-rw.fdn.fr") + (port 80)) + (openvpn-remote-configuration) + (name "vpn-rw.fdn.fr") + (port 53)))) + + ;; Service Xorg + (set-xorg-configuration + (xorg-configuration (keyboard-layout keyboard-layout)))) + + ;; Services par défaut du système %desktop-services) + ;; Modification de services par défaut ;; SANE (numérisation) (sane-service-type _ => sane-backends))) - ;; Chargeur de démarrage (GRUB) + + ;;; Chargeur de démarrage (GRUB) ;; On indique ici où il doit être installé et comment le configurer (bootloader (bootloader-configuration - (bootloader grub-efi-bootloader) - (targets (list "/boot/efi")) - (keyboard-layout keyboard-layout))) + (bootloader grub-efi-bootloader) + (targets (list "/boot/efi")) + (keyboard-layout keyboard-layout))) - ;; Périphériques mappés + ;;; Périphériques mappés ;; On configure notamment ici les partitions chiffrées (LUKS) (mapped-devices (list (mapped-device - (source (uuid - "9d09b4c8-d8c8-4116-868b-e00e625d2585")) - (target "HOME") - (type luks-device-mapping)))) + (source (uuid + "CHANGE_THIS_UUID")) + (target "ROOT") + (type luks-device-mapping)))) - ;; La liste des systèmes de fichiers qui seront « montés ». Les identifiants - ;; de systèmes de fichiers uniques (« UUIDs ») qui se trouvent ici s'obtiennent - ;; en exécutant « blkid » dans un terminal. - (file-systems (cons* (file-system - (mount-point "/boot/efi") - (device (uuid "4FA8-3AF5" - 'fat32)) - (type "vfat")) - (file-system - (mount-point "/home") - (device "/dev/mapper/HOME") - (type "ext4") - (dependencies mapped-devices)) - (file-system - (mount-point "/") - (device (uuid - "0c4322bb-3290-4d16-ae34-7c7fc01da648" - 'ext4)) - (type "ext4")) %base-file-systems))) + ;;; Systèmes de fichiers qui seront « montés ». + ;; Les identifiants de systèmes de fichiers uniques (« UUIDs ») + ;; qui se trouvent ici s'obtiennent en exécutant « blkid » dans un terminal. + (file-systems + (cons* + (file-system + (mount-point "/") + (device "/dev/mapper/ROOT") + (type "ext4") + (dependencies mapped-devices)) + %base-file-systems))) diff --git a/procédure_installation_guix.md b/procédure_installation_guix.md index e31e510..062b3d2 100644 --- a/procédure_installation_guix.md +++ b/procédure_installation_guix.md @@ -54,7 +54,7 @@ lsblk Un résultat comme suit apparaît : ![](guix_07.png) -Si aucune partition n'existe, on utilisera l'utilitaire `cfdisk` (embarqué dans l'installateur). Pour cela, lancer simplement `cfdisk` et créer au moins une partition. +Si aucune partition n'existe, on utilisera l'utilitaire `cfdisk` (embarqué dans l'installateur). Pour cela, lancer simplement `cfdisk` et créer au moins une partition. Attention : bien penser à exécuter la commande d'écriture pour que les changements ne soient pas perdus. Redémarrer peut être nécessaire. Ici, on identifie `/dev/vda1` comme le disque cible de l'installation. @@ -82,6 +82,11 @@ On active le service du Store : herd start cow-store /mnt ``` +Déplacer le fichier de configuration à son emplacement final : +``` +mv config.scm /mnt/etc/config.scm +``` + On lance l'installation : ``` guix system init config.scm /mnt