From dd278fa4e3330884547db8713531efa6ee956e0b Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 12 Aug 2023 10:18:13 -0400 Subject: Reorganize! Delete cruft! Use guix home! --- ikaruga-os.scm | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 ikaruga-os.scm (limited to 'ikaruga-os.scm') diff --git a/ikaruga-os.scm b/ikaruga-os.scm new file mode 100644 index 0000000..ac341bb --- /dev/null +++ b/ikaruga-os.scm @@ -0,0 +1,98 @@ +;;; 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 cups) + (gnu services desktop) + (gnu services games) + (gnu services pm) + (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" + "kvm" ; for running VMs + "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) + (service thermald-service-type) + (service joycond-service-type) + (service cups-service-type + (cups-configuration + (web-interface? #t) + (extensions + (list (specification->package "cups-filters") + (specification->package "brlaser"))))) + %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 "keys/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)) + (name-service-switch %mdns-host-lookup-nss)) -- cgit v1.2.3