;;; Copyright © 2022 David Thompson ;;; ;;; This program is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU General Public License as ;;; published by the Free Software Foundation; either version 3 of the ;;; License, or (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;; General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see ;;; . ;;; Commentary: ;; ;; Laptop OS configuration. ;; ;; To update using this OS configuration, run: ;; ;; guix system reconfigure ikaruga.scm (use-modules (gnu) (gnu services desktop) (nongnu packages linux) (nongnu system linux-initrd)) (operating-system (locale "en_US.utf8") (timezone "America/New_York") (keyboard-layout (keyboard-layout "us")) (host-name "ikaruga") (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) ;; Use regular Linux with the big bad proprietary firmware blobs. (kernel linux) (initrd microcode-initrd) ;; sof-firmware is required for sound to work, linux-firmware takes ;; care of everything else. (firmware (list sof-firmware linux-firmware)) (users (cons* (user-account (name "dave") (comment "David Thompson") (group "users") (home-directory "/home/dave") (supplementary-groups '("audio" "lp" ; for bluetooth "netdev" "video" "wheel"))) ; for sudo %base-user-accounts)) (packages (append (list (specification->package "nss-certs")) %base-packages)) (services (modify-services (cons* (service gnome-desktop-service-type) (service bluetooth-service-type) %desktop-services) ;; Get nonguix substitutes. (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (append (list "https://substitutes.nonguix.org") %default-substitute-urls)) (authorized-keys (append (list (local-file "./nonguix-signing-key.pub")) %default-authorized-guix-keys)))))) (mapped-devices (list (mapped-device (source (uuid "02b1ffb4-d868-4e5f-ab9b-8be3092e3a3c")) (target "cryptroot") (type luks-device-mapping)))) (file-systems (cons* (file-system (mount-point "/boot/efi") (device (uuid "91D3-F76B" 'fat32)) (type "vfat")) (file-system (mount-point "/") (device "/dev/mapper/cryptroot") (type "ext4") (dependencies mapped-devices)) %base-file-systems)))