;; Custom config adapted from GNOME/Xfce example in Guix manual. ;; Meant to use GNU Hurd once it is ready. (use-modules (gnu) (gnu packages admin) (gnu packages shells) (gnu system grub) (gnu system locale) (gnu system nss) (guix gexp)) (use-service-modules avahi base dbus desktop networking xorg) (use-package-modules bootloaders certs cryptsetup emacs fonts freedesktop gnome guile libusb linux ; for lvm2, util-linux rsync ssh suckless version-control wget) (operating-system (host-name "floriannotebook") (timezone "Europe/Berlin") (locale "en_US.UTF-8") (locale-definitions (cons (locale-definition (name "de_DE.utf8") (source "de_DE")) %default-locale-definitions)) ;; Assuming /dev/sda is the target hard disk, and "GuixSD" ;; is the label of the target root file system. (bootloader (grub-configuration (device "/dev/sda") (grub grub-efi))) ;; (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) ;; (device "/dev/sda"))) ;; (menu-entries ;; (list ;; (menu-entry ;; (label "Parabola GNU/Linux-libre") ;; ;; see Arch Wiki / GRUB / Encrypted GNU/Linux menuentry to see what is missing here ;; (linux "/boot/vmlinuz-linux-libre") ;; (linux-arguments '("cryptdevice=UUID=e269b169-073a-49f4-a03f-1a34d88384f8:Main" "root=/dev/mapper/Main-rootvol resume=/dev/mapper/Main-swapvol" "rw" "add_efi_memmap" "initrd=/initramfs-linux-libre.img" "init=/lib/systemd/systemd")) ;; (initrd "/boot/initramfs-linux-libre.img")) ;; (menu-entry ;; (label "Parabola GNU/Linux-libre LTS") ;; (linux "/boot/vmlinuz-linux-libre-lts") ;; (linux-arguments '("cryptdevice=UUID=e269b169-073a-49f4-a03f-1a34d88384f8:Main" "root=/dev/mapper/Main-rootvol" "resume=/dev/mapper/Main-swapvol" "rw" "add_efi_memmap" "initrd=/initramfs-linux-libre-lts.img" "init=/lib/systemd/systemd")) ;; (initrd "/boot/initramfs-linux-libre-lts.img")))))) ;; Specify a mapped device for the encrypted root partition. ;; The UUID is that returned by 'cryptsetup luksUUID'. (mapped-devices (list (mapped-device (source (uuid "de52112d-aa7c-4e03-a52b-80deb59d9353")) (target "GuixSD") (type luks-device-mapping)))) (file-systems (cons*(file-system (device "my-root") (title 'label) (mount-point "/") (type "ext4") (dependencies mapped-devices)) (file-system (device "/dev/sda1") (mount-point "/boot/efi") (type "msdos")) %base-file-systems ;; %fuse-control-file-system )) (users (cons* (user-account (name "florian") (comment "Florian Pelz") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/florian") (shell #~(string-append #$zsh "/bin/zsh"))) (user-account (name "guest") (comment "Guest user") (group "users") (home-directory "/home/guest") (shell #~(string-append #$zsh "/bin/zsh"))) %base-user-accounts)) ;; This is where we specify system-wide packages. (packages (cons* cryptsetup emacs font-dejavu font-google-noto geiser git gnome-calculator gnome-screenshot gnome-system-monitor gnome-tweak-tool guile-2.2 gvfs ;for user mounts ;; lsh ;probably insecure because no release activity lvm2 nss-certs ;for HTTPS access openssh paredit rsync util-linux wget xdg-utils zsh %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with Wicd, ;; and more. (services (cons* (gnome-desktop-service) (avahi-service) (colord-service) (dbus-service) (elogind-service) (geoclue-service) (service network-manager-service-type (network-manager-configuration (dns "dnsmasq"))) (polkit-service) (screen-locker-service slock) (slim-service) (udisks-service) (upower-service) (simple-service 'mtp udev-service-type (list libmtp)) (service wpa-supplicant-service-type wpa-supplicant) (modify-services %base-services (guix-service-type config => (guix-configuration (inherit config) (tmpdir "/tmpdir")))))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss))