diff options
| author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-01-31 15:49:31 -0500 |
|---|---|---|
| committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-02-26 09:03:01 -0500 |
| commit | e680c4086178c03eea58c1e987ea2216653dbd6a (patch) | |
| tree | 6eea3fab138746df708514c2633bb2c6f3cbfd13 /gnu/services | |
| parent | 60cb647a2807c4ff1ec3eeae589bb985fe7bde28 (diff) | |
services: pulseaudio: Deploy the configuration files to /etc/pulse.
* gnu/services/sound.scm (pulseaudio-environment)
[PULSE_CONFIG, PULSE_CLIENTCONFIG]: Use fixed locations, and move logic to...
(pulseaudio-etc): ... this service extension. Guard against producing empty
files.
Diffstat (limited to 'gnu/services')
| -rw-r--r-- | gnu/services/sound.scm | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm index fca6f13dc5b..8410ba24187 100644 --- a/gnu/services/sound.scm +++ b/gnu/services/sound.scm | |||
| @@ -144,11 +144,11 @@ ctl.!default { | |||
| 144 | (define pulseaudio-environment | 144 | (define pulseaudio-environment |
| 145 | (match-lambda | 145 | (match-lambda |
| 146 | (($ <pulseaudio-configuration> client-conf daemon-conf default-script-file) | 146 | (($ <pulseaudio-configuration> client-conf daemon-conf default-script-file) |
| 147 | `(("PULSE_CONFIG" . ,(apply mixed-text-file "daemon.conf" | 147 | ;; These config files kept at a fixed location, so that the following |
| 148 | "default-script-file = " default-script-file "\n" | 148 | ;; environment values are stable and do not require the user to reboot to |
| 149 | (map pulseaudio-conf-entry daemon-conf))) | 149 | ;; effect their PulseAudio configuration changes. |
| 150 | ("PULSE_CLIENTCONFIG" . ,(apply mixed-text-file "client.conf" | 150 | '(("PULSE_CONFIG" . "/etc/pulse/daemon.conf") |
| 151 | (map pulseaudio-conf-entry client-conf))))))) | 151 | ("PULSE_CLIENTCONFIG" . "/etc/pulse/client.conf"))))) |
| 152 | 152 | ||
| 153 | (define (extra-script-files->file-union extra-script-files) | 153 | (define (extra-script-files->file-union extra-script-files) |
| 154 | "Return a G-exp obtained by processing EXTRA-SCRIPT-FILES with FILE-UNION." | 154 | "Return a G-exp obtained by processing EXTRA-SCRIPT-FILES with FILE-UNION." |
| @@ -190,8 +190,8 @@ computed-file object~%") file)))) | |||
| 190 | 190 | ||
| 191 | (define pulseaudio-etc | 191 | (define pulseaudio-etc |
| 192 | (match-lambda | 192 | (match-lambda |
| 193 | (($ <pulseaudio-configuration> _ _ default-script-file extra-script-files | 193 | (($ <pulseaudio-configuration> client-conf daemon-conf default-script-file |
| 194 | system-script-file) | 194 | extra-script-files system-script-file) |
| 195 | `(("pulse" | 195 | `(("pulse" |
| 196 | ,(file-union | 196 | ,(file-union |
| 197 | "pulse" | 197 | "pulse" |
| @@ -203,7 +203,18 @@ computed-file object~%") file)))) | |||
| 203 | ,@(if (null? extra-script-files) | 203 | ,@(if (null? extra-script-files) |
| 204 | '() | 204 | '() |
| 205 | `(("default.pa.d" ,(extra-script-files->file-union | 205 | `(("default.pa.d" ,(extra-script-files->file-union |
| 206 | extra-script-files))))))))))) | 206 | extra-script-files)))) |
| 207 | ,@(if (null? daemon-conf) | ||
| 208 | '() | ||
| 209 | `(("daemon.conf" | ||
| 210 | ,(apply mixed-text-file "daemon.conf" | ||
| 211 | "default-script-file = " default-script-file "\n" | ||
| 212 | (map pulseaudio-conf-entry daemon-conf))))) | ||
| 213 | ,@(if (null? client-conf) | ||
| 214 | '() | ||
| 215 | `(("client.conf" | ||
| 216 | ,(apply mixed-text-file "client.conf" | ||
| 217 | (map pulseaudio-conf-entry client-conf)))))))))))) | ||
| 207 | 218 | ||
| 208 | (define pulseaudio-service-type | 219 | (define pulseaudio-service-type |
| 209 | (service-type | 220 | (service-type |
