summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-04-05 11:39:44 -0400
committerRobby Zambito <contact@robbyzambito.me>2026-04-05 12:27:20 -0400
commit8cc138dfbbb13fad87acea77abfc085f3a73fc63 (patch)
treeccd7b9baf43bc76fb34dda22cb6a239020725cd7
parent75996d94ba3eea2a4434a05547bff392aa72c3d9 (diff)
fix: virtual video devices
-rw-r--r--system.scm88
1 files changed, 44 insertions, 44 deletions
diff --git a/system.scm b/system.scm
index e3fc33e..080e523 100644
--- a/system.scm
+++ b/system.scm
@@ -36,6 +36,7 @@
pulseaudio)
(use-modules (nongnu packages linux)
+ (gnu packages linux)
(nongnu system linux-initrd))
(import (srfi 1)
@@ -44,15 +45,15 @@
(guix packages))
(define rz/linux linux)
-(define rz/linux-kernel-modules '())
+(define rz/linux-kernel-modules (list v4l2loopback-linux-module))
;; NOTE: v4l2loopback-linux-module cannot be built against inferior linux
;; Inferior and regular packages cannot be mixed as build inputs
;; TODO FIX
-;; (define dslr-webcam-config
-;; (plain-file "dslr-webcam.conf"
-;; (string-append
-;; "alias dslr-webcam v4l2loopback\n"
-;; "options v4l2loopback exclusive_caps=1 max_buffers=2 devices=2 video_nr=2,3")))
+(define dslr-webcam-config
+ (plain-file "dslr-webcam.conf"
+ (string-append
+ "alias dslr-webcam v4l2loopback\n"
+ "options v4l2loopback exclusive_caps=1 max_buffers=2 devices=2 video_nr=2,3")))
;; (define scarlett-config
@@ -66,7 +67,7 @@
(host-name "lambda")
(kernel rz/linux)
- ; (kernel-loadable-modules rz/linux-kernel-modules)
+ (kernel-loadable-modules rz/linux-kernel-modules)
(initrd microcode-initrd)
(firmware (list linux-firmware))
@@ -111,7 +112,7 @@
;; "purple-mattermost"
"podman-compose"
"ripgrep"
-;; TODO fix
+ ;; TODO fix
;; "rocm-cmake"
;; "rocm-opencl-runtime"
"steam-devices-udev-rules"
@@ -126,7 +127,7 @@
"xdg-user-dirs"
"xdg-utils"))
(list
- noisetorch)
+ noisetorch)
%base-packages))
(setuid-programs
(append
@@ -142,11 +143,11 @@
(service accountsservice-service-type)
(service alsa-service-type)
(service avahi-service-type)
-; (service bitlbee-service-type
-; (bitlbee-configuration
-; (bitlbee bitlbee-purple)
-; (plugins (list bitlbee-discord
-; purple-mattermost))))
+ ; (service bitlbee-service-type
+ ; (bitlbee-configuration
+ ; (bitlbee bitlbee-purple)
+ ; (plugins (list bitlbee-discord
+ ; purple-mattermost))))
(service bluetooth-service-type
(bluetooth-configuration
(auto-enable? #t)))
@@ -173,12 +174,12 @@
;; (wayland? #t)))
(service geoclue-service-type)
(simple-service 'add-extra-hosts
- hosts-service-type
- (list (host "10.69.0.1" "stream.robbyzambito.me")
- ;; (host "10.42.0.1" "robbyzambito.me")
- ;; (host "10.69.0.1" "git.robbyzambito.me")
- (host "192.168.98.25" "file.pinfosec.dev")
- (host "144.202.13.55" "mattermost.pinfosec.dev")))
+ hosts-service-type
+ (list (host "10.69.0.1" "stream.robbyzambito.me")
+ ;; (host "10.42.0.1" "robbyzambito.me")
+ ;; (host "10.69.0.1" "git.robbyzambito.me")
+ (host "192.168.98.25" "file.pinfosec.dev")
+ (host "144.202.13.55" "mattermost.pinfosec.dev")))
(service libvirt-service-type
(libvirt-configuration
(unix-sock-group "libvirt")))
@@ -205,13 +206,13 @@
;; record as a second argument to 'service' below.
(service openssh-service-type)
(service polkit-service-type
- ;; (polkit-configuration
- ;; (actions (list (plain-file "org.spice-space.lowlevelusbaccess.policy" (string-append "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" "<!DOCTYPE policyconfig PUBLIC\n" " \"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN\"\n" " \"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd\">\n" "<policyconfig>\n" "\n" " <vendor>The Spice Project</vendor>\n" " <vendor_url>http://spice-space.org/</vendor_url>\n" " <icon_name>spice</icon_name>\n" "\n" " <action id=\"org.spice-space.lowlevelusbaccess\">\n" " <description>Low level USB device access</description>\n" " <message>Privileges are required for low level USB device access (for usb device pass through).</message>\n" " <defaults>\n" " <allow_any>yes</allow_any>\n" " <allow_inactive>no</allow_inactive>\n" " <allow_active>yes</allow_active>\n" " </defaults>\n" " </action>\n" "\n" "</policyconfig>\n")))))
- )
+ ;; (polkit-configuration
+ ;; (actions (list (plain-file "org.spice-space.lowlevelusbaccess.policy" (string-append "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" "<!DOCTYPE policyconfig PUBLIC\n" " \"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN\"\n" " \"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd\">\n" "<policyconfig>\n" "\n" " <vendor>The Spice Project</vendor>\n" " <vendor_url>http://spice-space.org/</vendor_url>\n" " <icon_name>spice</icon_name>\n" "\n" " <action id=\"org.spice-space.lowlevelusbaccess\">\n" " <description>Low level USB device access</description>\n" " <message>Privileges are required for low level USB device access (for usb device pass through).</message>\n" " <defaults>\n" " <allow_any>yes</allow_any>\n" " <allow_inactive>no</allow_inactive>\n" " <allow_active>yes</allow_active>\n" " </defaults>\n" " </action>\n" "\n" "</policyconfig>\n")))))
+ )
polkit-wheel-service
(simple-service 'ratbagd dbus-root-service-type (list libratbag))
(service screen-locker-service-type
- (screen-locker-configuration
+ (screen-locker-configuration
(name "swaylock")
(program (file-append (specification->package "swaylock") "/bin/swaylock"))
(using-pam? #t)
@@ -231,29 +232,28 @@
"KERNEL==\"hidraw*\", ATTRS{idVendor}==\"3297\", MODE=\"0664\", GROUP=\"plugdev\"\n"
"# Wally Flashing rules for the Moonlander and Planck EZ\n"
"SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"0483\", ATTRS{idProduct}==\"df11\", MODE:=\"0666\", SYMLINK+=\"stm32_dfu\"\n")))
- ;; Removed TODO FIX
- ; (service kernel-module-loader-service-type '("v4l2loopback"))
- ;; (simple-service 'v4l2loopback-config etc-service-type
- ;; (list `("modprobe.d/dslr-webcam.conf"
- ;; ,dslr-webcam-config)))
+ (service kernel-module-loader-service-type '("v4l2loopback"))
+ (simple-service 'v4l2loopback-config etc-service-type
+ (list `("modprobe.d/dslr-webcam.conf"
+ ,dslr-webcam-config)))
(service wpa-supplicant-service-type)
(service greetd-service-type
(greetd-configuration
- (greeter-supplementary-groups (list "video" "input" "users"))
- (terminals
- (list
- ;; we can make any terminal active by default
- (greetd-terminal-configuration
- (extra-shepherd-requirement '(elogind))
- (terminal-vt "1")
- (terminal-switch #t)
- (default-session-command
- (greetd-wlgreet-sway-session)))
- (greetd-terminal-configuration (terminal-vt "2"))
- (greetd-terminal-configuration (terminal-vt "3"))
- (greetd-terminal-configuration (terminal-vt "4"))
- (greetd-terminal-configuration (terminal-vt "5"))
- (greetd-terminal-configuration (terminal-vt "6")))))))
+ (greeter-supplementary-groups (list "video" "input" "users"))
+ (terminals
+ (list
+ ;; we can make any terminal active by default
+ (greetd-terminal-configuration
+ (extra-shepherd-requirement '(elogind))
+ (terminal-vt "1")
+ (terminal-switch #t)
+ (default-session-command
+ (greetd-wlgreet-sway-session)))
+ (greetd-terminal-configuration (terminal-vt "2"))
+ (greetd-terminal-configuration (terminal-vt "3"))
+ (greetd-terminal-configuration (terminal-vt "4"))
+ (greetd-terminal-configuration (terminal-vt "5"))
+ (greetd-terminal-configuration (terminal-vt "6")))))))
;; This is the default list of services we
;; are appending to.
(let ((my-channels (cons (channel