Commit 5fbd29322070

Vincent Demeester <vincent@sbr.pm>
2024-01-05 12:02:27
hardware/audio: try to use some user configuration…
… to make it use a session ? Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 4216d24
Changed files (3)
systems
modules
hardware
users
systems/modules/hardware/audio.nix
@@ -38,40 +38,39 @@ in
         pulse.enable = true;
         wireplumber.enable = true;
       };
-      environment.etc."pipewire/pipewire.conf.d/session-manager.conf".text = ''
-        context.modules = [
-           {
-               name = libpipewire-module-session-manager
-               args = { }
-           }
-        ]
-      '';
-      environment.etc."pipewire/pipewire.conf.d/zeroconf-discover.conf".text = ''
-        context.modules = [
-           {
-               name = libpipewire-module-zeroconf-discover
-               args = { }
-           }
-        ]
-      '';
-      environment.etc."pipewire/pipewire.conf.d/raop-discover.conf".text = ''
-        context.modules = [
-           {
-               name = libpipewire-module-raop-discover
-               args = { }
-           }
-        ]
-      '';
+      environment.etc = {
+        # "pipewire/pipewire.conf.d/session-manager.conf".text = ''
+        #   context.modules = [
+        #      { name = libpipewire-module-session-manager }
+        #      { name = libpipewire-module-client-device }
+        #   ]
+        # '';
+        "pipewire/pipewire-pulse.conf.d/50-network-party.conf".text = ''
+          context.exec = [
+              { path = "pactl" args = "load-module module-native-protocol-tcp" }
+              { path = "pactl" args = "load-module module-zeroconf-discover" }
+              { path = "pactl" args = "load-module module-zeroconf-publish" }
+          ]
+        '';
+        "wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
+          bluez_monitor.properties = {
+            ["bluez5.enable-sbc-xq"] = true,
+            ["bluez5.enable-msbc"] = true,
+            ["bluez5.enable-hw-volume"] = true,
+            ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
+          }
+        '';
+      };
+      /*
+        wireplumber.profiles = {
+        main = {
+        monitor.alsa = required
+        }
+        }
+      */
       networking.firewall = {
         allowedTCPPorts = [ 6001 6002 ];
       };
-      environment.etc."pipewire/pipewire-pulse.conf.d/50-network-party.conf".text = ''
-        context.exec = [
-            { path = "pactl" args = "load-module module-native-protocol-tcp" }
-            { path = "pactl" args = "load-module module-zeroconf-discover" }
-            { path = "pactl" args = "load-module module-zeroconf-publish" }
-        ]
-      '';
     })
     (mkIf cfg.pulseaudio.enable {
       # Enable and configure pulseaudio
users/vincent/desktop/audio.nix
@@ -0,0 +1,24 @@
+{ config, nixosConfig, lib, pkgs, ... }:
+
+{
+  xdg.configFile = lib.mkIf nixosConfig.services.pipewire.wireplumber.enable {
+    "pipewire/pipewire.conf.d/raop-discover.conf" = {
+      text = ''
+        context.modules = [
+           {
+               name = libpipewire-module-raop-discover
+               args = { }
+           }
+        ]
+      '';
+    };
+    "pipewire/pipewire.conf.d/zeroconf-discover.conf".text = ''
+      context.modules = [
+         {
+             name = libpipewire-module-zeroconf-discover
+             args = { }
+         }
+      ]
+    '';
+  };
+}
users/vincent/desktop/default.nix
@@ -13,6 +13,7 @@ in
     ./mpv.nix
     ./spotify.nix
     ./passwordstore.nix
+    ./audio.nix
   ]
   ++ optionals nixosConfig.modules.desktop.xorg.enable [ ./xorg.nix ]
   ++ optionals nixosConfig.profiles.desktop.i3.enable [ ./i3.nix ./xorg.nix ]