summaryrefslogtreecommitdiffstats
path: root/nixos/modules
diff options
context:
space:
mode:
authorGabriel Ebner <gebner@gebner.org>2020-11-29 19:26:26 +0100
committerGabriel Ebner <gebner@gebner.org>2020-12-02 22:11:09 +0100
commit906d68cf134de8d4995fac334e32c55156cad394 (patch)
tree3f888f64ac17c7b031103def063c728997de1145 /nixos/modules
parentb28f2f73863ea8c92c8a8a3a97c99968cbfc9d7d (diff)
nixos/pipewire: enable volume control via alsa
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/desktops/pipewire.nix32
1 files changed, 17 insertions, 15 deletions
diff --git a/nixos/modules/services/desktops/pipewire.nix b/nixos/modules/services/desktops/pipewire.nix
index 7ba04a36b8d3..0ef988d9e69f 100644
--- a/nixos/modules/services/desktops/pipewire.nix
+++ b/nixos/modules/services/desktops/pipewire.nix
@@ -117,24 +117,26 @@ in {
services.udev.packages = [ cfg.package ];
# If any paths are updated here they must also be updated in the package test.
- sound.enable = mkIf cfg.alsa.enable true;
- sound.extraConfig = mkIf cfg.alsa.enable ''
- pcm_type.pipewire {
- libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
- ${optionalString enable32BitAlsaPlugins
- "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
- }
- pcm.!default {
- @func getenv
- vars [ PCM ]
- default "plug:pipewire"
- playback_mode "-1"
- capture_mode "-1"
- }
- '';
+ environment.etc."alsa/conf.d/49-pipewire-modules.conf" = mkIf cfg.alsa.enable {
+ text = ''
+ pcm_type.pipewire {
+ libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
+ ${optionalString enable32BitAlsaPlugins
+ "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
+ }
+ ctl_type.pipewire {
+ libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;
+ ${optionalString enable32BitAlsaPlugins
+ "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"}
+ }
+ '';
+ };
environment.etc."alsa/conf.d/50-pipewire.conf" = mkIf cfg.alsa.enable {
source = "${cfg.package}/share/alsa/alsa.conf.d/50-pipewire.conf";
};
+ environment.etc."alsa/conf.d/99-pipewire-default.conf" = mkIf cfg.alsa.enable {
+ source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf";
+ };
environment.sessionVariables.LD_LIBRARY_PATH =
lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire";