;; This is an operating system configuration template ;; for a "desktop" setup with GNOME and Xfce where the ;; root partition is encrypted with LUKS, and a swap file. (use-modules (gnu) (gnu system nss) (guix utils)) (use-service-modules desktop sddm xorg) (use-package-modules certs gnome) ;; Import nonfree linux module. (use-modules (nongnu packages linux)) (use-modules (gnu packages shells) (nongnu system linux-initrd)) ;; Shells (use-modules (gnu packages shells)) (operating-system ;; (kernel linux) ;; (initrd microcode-initrd) (firmware (cons* iwlwifi-firmware %base-firmware)) (host-name "ThinkPad Yoga 14") (timezone "America/Chicago") (locale "en_US.utf8") ;; Choose US English keyboard layout. The "altgr-intl" ;; variant provides dead keys for accented characters. (keyboard-layout (keyboard-layout "us" "altgr-intl")) ;; Use the UEFI variant of GRUB with the EFI System ;; Partition mounted on /boot/efi. (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets '("/boot/efi")) (keyboard-layout keyboard-layout))) (file-systems (append (list (file-system (device "/dev/sda3") (mount-point "/") (type "ext4")) (file-system (device "/dev/sda1") (mount-point "/boot/efi") (type "vfat"))) %base-file-systems)) ;; Create user `me' with `me' as its initial password. (users (cons (user-account (name "me") (password (crypt "me" "$6$abc")) (group "me") (shell (file-append fish "/bin/fish")) (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) (groups (cons* (user-group (name "me")) %base-groups)) ;; This is where we specify system-wide packages. (packages (append (list ;; for HTTPS access nss-certs ;; for user mounts gvfs fish) %base-packages)) ;; Add GNOME and Xfce---we can choose at the log-in screen ;; by clicking the gear. Use the "desktop" services, which ;; include the X11 log-in service, networking with ;; NetworkManager, and more. (services (append (list (service gnome-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) %desktop-services)))