aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/sound.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-05-06 17:48:42 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-05-06 22:49:55 +0200
commit3ed94ed8c2d1d0befc99ef2740b6fb9f717207db (patch)
tree87063f24e6b0d1b474f2deab8b61bfdf878954e7 /gnu/services/sound.scm
parente3bf2a66a226611baee1da6eaca250572adde64a (diff)
downloadguix-3ed94ed8c2d1d0befc99ef2740b6fb9f717207db.tar
guix-3ed94ed8c2d1d0befc99ef2740b6fb9f717207db.tar.gz
services: Do not use symbolic links in PulseAudio variables.
This addresses <https://bugs.gnu.org/40837> by making these configuration files more easily accessible within the WebKitGTK sandbox. * gnu/services/sound.scm (pulseaudio-environment): Move below PULSEAUDIO-CONF-ENTRY. Instantiate PULSE_CONFIG and PULSE_CLIENTCONFIG entries directly instead of referring to /etc/pulse. (pulseaudio-etc): Do not create /etc/pulse/client.conf and /etc/pulse/daemon.conf.
Diffstat (limited to 'gnu/services/sound.scm')
-rw-r--r--gnu/services/sound.scm27
1 files changed, 12 insertions, 15 deletions
diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm
index a1c928222a..bdf819b422 100644
--- a/gnu/services/sound.scm
+++ b/gnu/services/sound.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -127,11 +128,6 @@ ctl.!default {
(default
(file-append pulseaudio "/etc/pulse/system.pa"))))
-(define (pulseaudio-environment config)
- `(;; Define these variables, so that pulseaudio honors /etc.
- ("PULSE_CONFIG" . "/etc/pulse/daemon.conf")
- ("PULSE_CLIENTCONFIG" . "/etc/pulse/client.conf")))
-
(define (pulseaudio-conf-entry arg)
(match arg
((key . value)
@@ -139,21 +135,22 @@ ctl.!default {
((? string? _)
(string-append arg "\n"))))
+(define pulseaudio-environment
+ (match-lambda
+ (($ <pulseaudio-configuration> client-conf daemon-conf default-script-file)
+ `(("PULSE_CONFIG" . ,(apply mixed-text-file "daemon.conf"
+ "default-script-file = " default-script-file "\n"
+ (map pulseaudio-conf-entry daemon-conf)))
+ ("PULSE_CLIENTCONFIG" . ,(apply mixed-text-file "client.conf"
+ (map pulseaudio-conf-entry client-conf)))))))
+
(define pulseaudio-etc
(match-lambda
- (($ <pulseaudio-configuration> client-conf daemon-conf
- default-script-file system-script-file)
+ (($ <pulseaudio-configuration> _ _ default-script-file system-script-file)
`(("pulse"
,(file-union
"pulse"
- `(("client.conf"
- ,(apply mixed-text-file "client.conf"
- (map pulseaudio-conf-entry client-conf)))
- ("daemon.conf"
- ,(apply mixed-text-file "daemon.conf"
- "default-script-file = " default-script-file "\n"
- (map pulseaudio-conf-entry daemon-conf)))
- ("default.pa" ,default-script-file)
+ `(("default.pa" ,default-script-file)
("system.pa" ,system-script-file))))))))
(define pulseaudio-service-type