summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2018-06-25 22:23:24 +0800
committer宋文武 <iyzsong@member.fsf.org>2018-06-25 23:29:47 +0800
commit6d91a4699254e0bf15e8bf5968c0b542d1b69f38 (patch)
treeeebb702dfc46393791529d215f7b8af3b3795f1f
parent624ee211b0209858621f7a81a481f73298e51024 (diff)
doc: Add an example of ~/.asoundrc file for ALSA configuration.
* doc/guix.texi (Sound Services): Improve it and add an example of ~/.asoundrc file.
-rw-r--r--doc/guix.texi52
1 files changed, 44 insertions, 8 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e5366ac6b7..da05a200a1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13131,15 +13131,15 @@ Users need to be in the @code{lp} group to access the D-Bus service.
@cindex ALSA
@cindex PulseAudio, sound support
-The @code{(gnu services sound)} module provides an
-@code{alsa-service-type} service to generate an ALSA
-@file{/etc/asound.conf} configuration file. This configuration file is
-what allows applications that produce sound using ALSA to be correctly
-handled.
+The @code{(gnu services sound)} module provides a service to configure the
+Advanced Linux Sound Architecture (ALSA) system, which making PulseAudio the
+prefered ALSA output driver.
@deffn {Scheme Variable} alsa-service-type
-This is the type for the @uref{https://alsa-project.org/, ALSA},
-@command{alsa-configuration} record as in this example:
+This is the type for the @uref{https://alsa-project.org/, Advanced Linux Sound
+Architecture} (ALSA) system, which generates the @file{/etc/asound.conf}
+configuration file. The value for this type is a @command{alsa-configuration}
+record as in this example:
@example
(service alsa-service-type)
@@ -13164,11 +13164,47 @@ at the same time and to individual control them @i{via}
@command{pavucontrol}, among other things.
@item @code{extra-options} (default: @var{""})
-String to append to the @file{asound.conf} file.
+String to append to the @file{/etc/asound.conf} file.
@end table
@end deftp
+Individual users who want to override the system configuration of ALSA can do
+it with the @file{~/.asoundrc} file:
+
+@example
+# In guix, we have to specify the absolute path for plugins.
+pcm_type.jack @{
+ lib "/home/alice/.guix-profile/lib/alsa-lib/libasound_module_pcm_jack.so"
+@}
+
+# Routing ALSA to jack:
+# <http://jackaudio.org/faq/routing_alsa.html>.
+pcm.rawjack @{
+ type jack
+ playback_ports @{
+ 0 system:playback_1
+ 1 system:playback_2
+ @}
+
+ capture_ports @{
+ 0 system:capture_1
+ 1 system:capture_2
+ @}
+@}
+
+pcm.!default @{
+ type plug
+ slave @{
+ pcm "rawjack"
+ @}
+@}
+@end example
+
+See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the
+details.
+
+
@node Database Services
@subsubsection Database Services