metznet-channel/system/clients/otto.scm

110 lines
4.5 KiB
Scheme

(define-module (system clients otto)
#:use-module (gnu)
#:use-module (system base-system)
#:use-module (gnu packages tex)
#:use-module (nongnu packages mozilla)
#:use-module (nongnu packages nvidia)
#: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 packages linux)
#:use-module (gnu packages docker)
#:use-module (gnu services docker)
#:use-module (gnu packages audio)
#:use-module (gnu services cups)
#:use-module (gnu services virtualization)
#:use-module (gnu services networking)
#:use-module (gnu services xorg)
#:use-module (gnu services desktop)
#:use-module (gnu services dbus)
#:use-module (gnu services linux)
#:use-module (gnu packages cups)
#:use-module (gnu packages python)
#: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-operating-system))
; (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 otto-operating-system
(operating-system
(inherit 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"))
(packages (append (list blueman bluez bluez-alsa pulseaudio docker python openvswitch
qemu texlive firefox pavucontrol mupdf gcc-toolchain gnu-make
gcc-arm-none-eabi-7-2018-q2-update sane-backends-minimal xsane
cups xf86-video-nv xf86-input-libinput vulkan-loader vulkan-tools
(list isc-bind "utils")) %my-desktop-packages))
(services (append (list
(simple-service 'blueman dbus-root-service-type (list blueman))
(bluetooth-service #:auto-enable? #t)
(service docker-service-type)
(service openvswitch-service-type)
(set-xorg-configuration
(xorg-configuration
(keyboard-layout %default-keyboard-layout)))
(service sane-service-type)
(service cups-service-type
(cups-configuration
(web-interface? #t))))
(modify-services %my-desktop-services
(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" "lp" "docker")))
%my-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))))