diff options
| author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2026-02-04 10:20:55 +0100 |
|---|---|---|
| committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2026-03-10 11:23:30 +0100 |
| commit | de8b977d4e62bca47f696f7f1debf69a3b9078d4 (patch) | |
| tree | dcdc32be9d54d933c1c421537d4ca4a9f4929def /doc | |
| parent | 06c6c3ede530585f643e09afa7259498299cef78 (diff) | |
services: Generalize alsa-configuration.
* gnu/packages/sound.scm (alsa-pcm-configuration, alsa-ctl-configuration): New
configuration records.
(serialize-alsa-pcm-configuration, serialize-alsa-ctl-configuration): New variables.
(<alsa-configuration>): Remove alsa-plugins and pulseaudio?.
Add default-pcm and default-ctl.
Rename extra-options to options.
(alsa-config-file): Adjust accordingly.
(alsa-servcice-type): Add compose and extend.
(<pulseaudio-configuration>): Add alsa-lib.
(pulseaudio-alsa-configuration): New procedure.
(pulseaudio-service-type): Extend alsa-servcice-type.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/guix.texi | 58 |
1 files changed, 46 insertions, 12 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 44873afa2a4..b0ab0c1db5b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -27878,24 +27878,47 @@ record as in this example: See below for details about @code{alsa-configuration}. @end defvar -@deftp {Data Type} alsa-configuration -Data type representing the configuration for @code{alsa-service}. +@deftp {Data Type} alsa-pcm-configuration +Data type representing an ALSA @code{pcm} block. @table @asis -@item @code{alsa-plugins} (default: @var{alsa-plugins}) -@code{alsa-plugins} package to use. +@item @code{alsa-pcm-configuration-type} (type: symbol) +The type of the PCM (if not builtin to alsa, should be introduced via a ``pcm_type'' block). +@item @code{alsa-pcm-configuration-hint} (type: maybe-string) +A human-readable description of the PCM. -@item @code{pulseaudio?} (default: @var{#t}) -Whether ALSA applications should transparently be made to use the -@uref{https://www.pulseaudio.org/, PulseAudio} sound server. +@item @code{alsa-pcm-configuration-configuration} (type: list-of-string) +Raw additional configuration. +Each item will be printed on a separate line. +@end table +@end deftp -Using PulseAudio allows you to run several sound-producing applications -at the same time and to individual control them @i{via} -@command{pavucontrol}, among other things. +@deftp {Data Type} alsa-ctl-configuration +Data type representing an ALSA @code{ctl} block. -@item @code{extra-options} (default: @var{""}) -String to append to the @file{/etc/asound.conf} file. +@table @asis +@item @code{alsa-pcm-configuration-type} (type: symbol) +The type of the ctl (if not builtin to alsa, should be introduced via a ``ctl_type'' block). +@item @code{alsa-pcm-configuration-configuration} (type: list-of-string) +Raw additional configuration. +Each item will be printed on a separate line. +@end table +@end deftp + +@deftp {Data Type} alsa-configuration +Data type representing the configuration for @code{alsa-service}. + +@table @asis +@item @code{default-pcm} (default: #f) +The configuration to use for the default @code{pcm}. + +@item @code{default-ctl} (default: #f) +The configuration to use for the default @code{ctl}. + +@item @code{options} (default: '()) (type: list-of-strings) +Additional configuration strings to +append to the @file{/etc/asound.conf} file. @end table @end deftp @@ -27934,6 +27957,12 @@ pcm.!default @{ See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the details. +Services can likewise extend alsa-service-type to add options and +configure the default PCM and CTL. One service, which transparently +extends alsa-service-type to make use of the +@uref{https://www.pulseaudio.org/, PulseAudio} sound server, +is the pulseaudio-service-type, shown below. + @defvar pulseaudio-service-type This is the type for the @uref{https://www.pulseaudio.org/, PulseAudio} sound server. It exists to allow system overrides of the default settings @@ -27985,6 +28014,11 @@ commands, refer to @command{man pulse-cli-syntax}. @item @code{system-script-file} (default: @code{(file-append pulseaudio "/etc/pulse/system.pa")}) Script file to use as @file{system.pa}. + +@item @code{alsa-lib} +The alsa-lib package to use for defining the “pulse” pcm_type +and ctl_type. + @end table The example below sets the default PulseAudio card profile, the default |
