From 2767aa956835ee7440e6aa7daf443d4642d3a336 Mon Sep 17 00:00:00 2001 From: Chloe Brown Date: Wed, 29 Dec 2021 17:04:17 +0000 Subject: service: rtkit: add system rtkit service. --- yellowsquid/services/pipewire.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/yellowsquid/services/pipewire.scm b/yellowsquid/services/pipewire.scm index 222df28..b899e0c 100644 --- a/yellowsquid/services/pipewire.scm +++ b/yellowsquid/services/pipewire.scm @@ -3,10 +3,35 @@ #:use-module (gnu home services shepherd) #:use-module (gnu packages linux) #:use-module (gnu services) + #:use-module (gnu services dbus) + #:use-module (gnu system shadow) #:use-module (guix gexp) - #:export (home-pipewire-service-type + #:use-module (yellowsquid packages rtkit) + #:export (rtkit-service-type + home-pipewire-service-type home-wireplumber-service-type)) +(define %rtkit-accounts + (list (user-group (name "rtkit") (system? #t)) + (user-account + (name "rtkit") + (group "rtkit") + (system? #t) + (comment "RealtimeKit daemon user") + (home-directory "/var/empty") + (shell "/run/current-system/profile/sbin/nologin")))) + +(define rtkit-service-type + (service-type (name 'rtkit) + (extensions + (list (service-extension dbus-root-service-type + list) + (service-extension account-service-type + (const %rtkit-accounts)))) + (default-value rtkit) + (description "Realtime Kit scheduling policy daemon."))) + +;; TODO: add dependency on rtkit-service-type. (define (home-pipewire-shepherd-service pipewire) "Return a shepherd service for PipeWire." (list (shepherd-service -- cgit v1.2.3