101 lines
4.4 KiB
Scheme
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
|