metznet-channel/metznet/machines/otto.scm

101 lines
4.4 KiB
Scheme

(define-module (metznet machines otto)
#:use-module (gnu)
#:use-module (metznet system base-system)
#:use-module (gnu packages tex)
#:use-module (nongnu packages mozilla)
#:use-module (gnu packages networking)
#:use-module (gnu packages shells)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages spice)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages pdf)
#:use-module (gnu packages commencement)
#:use-module (gnu packages base)
#:use-module (gnu packages embedded)
#:use-module (gnu services cups)
#:use-module (gnu services virtualization)
#:use-module (gnu services xorg)
#:use-module (gnu services desktop)
#:use-module (gnu services sddm)
#:use-module (gnu services linux)
#:use-module (gnu packages cups)
#:use-module (gnu packages xorg)
#:use-module (gnu packages scanner)
#:use-module (gnu packages dns)
#:use-module (gnu services shepherd)
#:use-module (gnu services base)
#:export (otto))
;; (define (nvidia-insmod-shepherd-service config)
;; (list (shepherd-service
;; (provision '(nvidia-insmod))
;; (requirement '())
;; (start #~(lambda _ (and
;; (zero? (system* (string-append #$nvidia-driver "/bin/nvidia-insmod"))))))
;; (one-shot? #t)
;; (auto-start? #t)
;; (respawn? #f))))
;;
;; (define nvidia-insmod-service-type
;; (service-type
;; (name 'nvidia-insmod-name)
;; (extensions
;; (list (service-extension shepherd-root-service-type nvidia-insmod-shepherd-service)))
;; (default-value '())))
(define-public otto
(operating-system
(inherit %metznet-base-desktop-system)
(host-name "otto")
(hosts-file
(plain-file "hosts"
(string-append (local-host-aliases host-name)
"# LAN geofff.homelab ip
192.168.86.2 geofff.homelab\n")))
(kernel-arguments '("modprobe.blacklist=nouveau"))
;; (kernel-loadable-modules (list nvidia-driver))
(packages (append (list qemu texlive-scheme-full pavucontrol mupdf gcc-toolchain gnu-make sane-backends-minimal xsane cups xf86-video-nv xf86-input-libinput vulkan-loader vulkan-tools (list isc-bind "utils")) %metznet-desktop-packages))
(services (append (list
;; (service kernel-module-loader-service-type
;; '("nvidia" "nvidia-modeset" "nvidia-uvm" "nvidia-drm"))
;; (simple-service 'custom-udev-rules udev-service-type (list nvidia-driver))
(service sane-service-type)
(service cups-service-type
(cups-configuration
(web-interface? #t))))
(modify-services %metznet-desktop-services
(sddm-service-type config =>
(sddm-configuration (inherit config)
(xorg-configuration
(xorg-configuration
(keyboard-layout (keyboard-layout "us"))))))
(udev-service-type config =>
(udev-configuration (inherit config)
(rules (append (list
%usb-udev-rule)
(udev-configuration-rules config))))))))
(users (cons* (user-account
(name "nmetz")
(comment "Noah Metz")
(group "users")
(home-directory "/home/nmetz")
(shell (file-append zsh "/bin/zsh"))
(supplementary-groups
`("wheel" "netdev" "audio" "video" "usb" "kvm")))
%metznet-base-user-accounts))
(file-systems
(cons* (file-system
(mount-point "/boot/efi")
(device (uuid "6E88-FE62" 'fat32))
(type "vfat"))
(file-system
(mount-point "/")
(device
(uuid "ba93a043-9e58-466f-b90f-bf2a6bbf91fe"
'ext4))
(type "ext4"))
%base-file-systems))))
otto