diff --git a/config.scm b/config.scm index c49efce..b52d2e4 100644 --- a/config.scm +++ b/config.scm @@ -11,44 +11,80 @@ ;; utilisées dans cette configuration. (use-modules (gnu)) (use-modules (gnu packages freedesktop)) -(use-service-modules cups desktop networking ssh xorg) +(use-service-modules cups desktop networking ssh xorg virtualization vpn) +;; Définitions + +(define %sudoers-specification + (plain-file "sudoers" "\ +root ALL=(ALL) ALL +%wheel ALL=(ALL) NOPASSWD: ALL +")) + +(define %spice-rules + (udev-rule + "50-spice.rules" + (string-append "\ +SUBSYSTEM==\"usb\", GROUP=\"spice\", MODE=\"0660\" +SUBSYSTEM==\"usb_device\", GROUP=\"spice\", MODE=\"0660\" +"))) + +;; CONF (operating-system (locale "fr_FR.utf8") (timezone "Europe/Paris") (keyboard-layout (keyboard-layout "fr" "oss")) (host-name "n-guix-port") + (sudoers-file %sudoers-specification) + ;; La liste des comptes utilisateurs (« root » est implicite). (users (cons* (user-account (name "neox") (comment "neox") (group "users") (home-directory "/home/neox") - (supplementary-groups '("wheel" "netdev" "audio" "video"))) + (supplementary-groups '("wheel" "netdev" "audio" "video" "libvirt" "kvm" "scanner" "spice"))) %base-user-accounts)) ;; Packages installed system-wide. Users can also install packages ;; under their own account: use 'guix search KEYWORD' to search ;; for packages and 'guix install PACKAGE' to install a package. - (packages (append (list (specification->package "nss-certs")) + (packages (append (list (specification->package "nss-certs") + (specification->package "qemu") + (specification->package "virt-manager") + (specification->package "libvirt") + (specification->package "lvm2") + (specification->package "mdadm") + (specification->package "network-manager") + (specification->package "network-manager-openvpn")) %base-packages)) ;; Voici la liste des services du système. Pour trouver les services disponibles, ;; lancez « guix system search MOT-CLÉ » dans un terminal. (services - (append (list (service gnome-desktop-service-type) + (modify-services + (append + (list + (service gnome-desktop-service-type) (service cups-service-type) + (service libvirt-service-type) + (udev-rules-service 'spice %spice-rules #:groups '("spice")) + (service virtlog-service-type) (pam-limits-service (list (pam-limits-entry "@audio" 'both 'rtprio 99) (pam-limits-entry "@audio" 'both 'memlock 'unlimited))) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) + %desktop-services) + + (network-manager-service-type config => (network-manager-configuration + (inherit config) + (vpn-plugins + (list (specification->package "network-manager-openvpn"))))))) + - ;; Voici la liste des services par défaut à laquelle nous - ;; ajoutons nos propres services. - %desktop-services)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi"))