From 733145692fb4a793dfff13ec61d96c03ac69c992 Mon Sep 17 00:00:00 2001 From: blake Date: Wed, 5 Nov 2025 21:12:19 -0600 Subject: [PATCH] maybe? --- modules/desktop/pipewire/default.nix | 125 ++++++++++++++++++++++++++- 1 file changed, 124 insertions(+), 1 deletion(-) diff --git a/modules/desktop/pipewire/default.nix b/modules/desktop/pipewire/default.nix index 194fbda..ea8fb7d 100644 --- a/modules/desktop/pipewire/default.nix +++ b/modules/desktop/pipewire/default.nix @@ -21,13 +21,136 @@ in { services.pipewire = { enable = true; - #wireplumber = {}; alsa = { enable = true; support32Bit = true; }; pulse.enable = true; jack.enable = true; + + wireplumber = { + enable = true; + configPackages = [ + (pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/99-renames.conf" '' + monitor.alsa.rules = [ + + # rename laptop speakers and headphones + { + matches = [ + { node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink" } + ], + actions = { + update-props = { + node.description = "Speakers / 3.5mm", + node.nick = "Speakers / 3.5mm", + } + } + } + + # rename hdmi / dp port 1 + { + matches = [ + { node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink" } + ], + actions = { + update-props = { + node.description = "HDMI / DP 1", + node.nick = "HDMI / DP 1", + } + } + } + + # rename hdmi / dp port 2 + { + matches = [ + { node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink" } + ], + actions = { + update-props = { + node.description = "HDMI / DP 2", + node.nick = "HDMI / DP 2", + } + } + } + + # rename hdmi / dp port 3 + { + matches = [ + { node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink" } + ], + actions = { + update-props = { + node.description = "HDMI / DP 3", + node.nick = "HDMI / DP 3", + } + } + } + + + # --- sources --- + + # rename laptop mic + { + matches = [ + { node.name = "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source" } + ], + actions = { + update-props = { + node.description = "Laptop Mic", + node.nick = "Laptop Mic", + } + } + } + + # rename 3.5mm mic + { + matches = [ + { node.name = "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headset__source" } + ], + actions = { + update-props = { + node.description = "3.5mm Mic", + node.nick = "3.5mm Mic", + } + } + } + + + # --- controllers --- + + # rename laptop controller + { + matches = [ + { device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" } + ], + actions = { + update-props = { + node.description = "Laptop Controller", + node.nick = "Laptop Controller", + } + } + } + ] + } + '') + ]; + + # extraConfig = { + # "51-renames.lua" = '' + # rule = { + # matches = { + # { + # { "node.name", "matches", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink" }, + # }, + # }, + # apply_properties = { + # ["device.description"] = "Speakers / 3.5mm", + # }, + # } + # table.insert(alsa_monitor.rules, rule) + # ''; + # }; + }; }; }; }