(add-to-load-path "/etc/guix-config") (define-module (cobra lists) #:use-module (guix gexp) #:use-module (gnu) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services desktop) #:use-module (gnu services networking) #:use-module (gnu services xorg) #:use-module (gnu services cups) #:use-module (gnu services ssh) #:use-module (gnu services dbus) #:use-module (gnu services virtualization) #:use-module (gnu services authentication) #:use-module (gnu services dict) #:use-module (gnu services linux) #:use-module (gnu packages certs) #:use-module (gnu packages wordnet) #:use-module (gnu packages wm) #:use-module (gnu packages dictionaries) #:use-module (cobra packages) #:export (service-list package-list)) ;; DICT (define wordnet-handler (dicod-handler (name "wordnet") (module "dictorg") (options (list #~(string-append "dbdir=" #$wordnet))))) (define vera-handler (dicod-handler (name "vera") (module "dictorg") (options (list #~(string-append "dbdir=" #$vera))))) (define wordnet-db (dicod-database (name "wordnet") (complex? #t) (handler "wordnet") (options '("database=wn")))) (define vera-db (dicod-database (name "vera") (complex? #t) (handler "vera") (options '("database=vera")))) ;; Kernel (define v4l2loopback-config (plain-file "v4l2loopback.conf" "options v4l2loopback video_nr=6,7,8,9 card_label=loopback0,loopback1,loopback2,loopback3 exclusive_caps=1")) (define service-list (cons* ;; Bluetooth (service bluetooth-service-type (bluetooth-configuration (auto-enable? #t))) ;; Desktop (service screen-locker-service-type (screen-locker-configuration (name "swaylock") (program (file-append swaylock "/bin/swaylock")) (allow-empty-password? #f) (using-pam? #t) (using-setuid? #f))) ;; DICT (service dicod-service-type (dicod-configuration (handlers (list wordnet-handler vera-handler)) (databases (list wordnet-db vera-db %dicod-database:gcide)))) ;; Kernel (service kernel-module-loader-service-type '("v4l2loopback")) (simple-service 'v4l2loopback etc-service-type (list `("modprobe.d/v4l2loopback.conf" ,v4l2loopback-config))) ;; Network (service cups-service-type) (service network-manager-service-type) (service ntp-service-type) (service tor-service-type (tor-configuration (config-file (plain-file "tor-config" "HTTPTunnelPort 127.0.0.1:9250")))) (service wpa-supplicant-service-type) ;; System (service dbus-root-service-type) (service elogind-service-type) (service openssh-service-type (openssh-configuration (permit-root-login 'prohibit-password) (password-authentication? #f))) (service gpm-service-type) ;; Virtualization (service libvirt-service-type (libvirt-configuration (unix-sock-group "libvirt"))) (service virtlog-service-type) %base-services)) (define package-list (append (map specification->package+output (list ;; Bluetooth "blueman" "bluez" ;; DVD "libdvdcss" "libdvdread" ;; Fonts "font-awesome" "font-fira-code" "font-fira-mono" "font-fira-sans" "font-google-noto" "font-google-noto-sans-cjk" "font-google-noto-serif-cjk" "font-liberation" ;; Gamedev "godot" ;; Graphics "intel-vaapi-driver" "mesa" "mesa-utils" ;; Kernel "v4l2loopback-linux-module" ;; Network "nss-certs" "torsocks" "tor" ;; System "acpi" "cryptsetup" "curl" "dconf" "gnunet" "lvm2" "openssh" "openssl" ;; Utilities "vim" ;; Virtualization "libvirt" "virt-manager" "qemu")) (cons* mesa-i915 %base-packages)))