;; -*- mode: scheme; -*- ;; This is an operating system configuration template ;; for a "desktop" setup without full-blown desktop ;; environments. (use-modules (gnu) (gnu system nss) (gnu services) (gnu services guix) (gnu system shadow)) (use-service-modules ssh desktop xorg networking) (use-package-modules bootloaders wm text-editors fonts python-xyz terminals version-control xorg xdisorg vim emacs emacs-xyz gnuzilla) ;; Pull in the home-environment definition from the sibling file. We extend ;; Guile's load path so use-modules can resolve (guix-home-config) as a real ;; module that exports the `home-config' binding. (eval-when (load eval expand) (set! %load-path (cons "/home/cashmere/guix" %load-path))) (use-modules (guix-home-config)) (operating-system (host-name "antelope") (timezone "Europe/Berlin") (locale "en_US.utf8") ;; 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")))) ;; Assume the target root file system is labelled "my-root", ;; and the EFI System Partition has UUID 1234-ABCD. (file-systems (append (list (file-system (device "/dev/vda3") (mount-point "/") (type "ext4")) (file-system (device "/dev/vda1") (mount-point "/boot/efi") (type "vfat"))) %base-file-systems)) (users (cons (user-account (name "cashmere") (comment "Bob's sister") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) ;; Add a bunch of window managers; we can choose one at ;; the log-in screen with F1. (packages (append (list ;; window managers qtile rofi xorg-server xinit xwallpaper xset vim emacs emacs-exwm emacs-desktop-environment ;; terminal emulator xterm kitty font-jetbrains-mono git) %base-packages)) ;; Use the "desktop" services, which include the X11 ;; log-in service, networking with NetworkManager, and more. (services (append (list (service guix-home-service-type `(("cashmere" ,home-config))) (service xorg-server-service-type) (service openssh-service-type) (service dhcpcd-service-type) (service slim-service-type (slim-configuration (display ":0")))) (modify-services %base-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (list ;; Only fast, independent mirrors. bordeaux is excluded ;; because it throttles EU users to ~300 KiB/s. "https://ci.guix.gnu.org" "https://bordeaux-us-east-mirror.cbaines.net" "https://bordeaux-singapore-mirror.cbaines.net" "https://hydra-guix-129.guix.gnu.org"))))))) (name-service-switch %mdns-host-lookup-nss))