audio: fix pipewire config under newest nixos-unstable

This commit is contained in:
Sandro - 2024-02-28 00:41:46 +01:00
parent f50629267b
commit 9877ddad93
Signed by: sandro
GPG Key ID: 3AF5A43A3EECC2E5
1 changed files with 21 additions and 5 deletions

View File

@ -3,6 +3,13 @@
let
cfg = config.c3d2.audioStreaming;
isGraphical = config.services.xserver.enable || config.services.xserver.displayManager.defaultSession != null;
hasConfigPackages = options.services.pipewire?configPackages;
zeroconfConfig = builtins.toJSON {
"context.modules" = [ {
"name" = "libpipewire-module-zeroconf-discover";
} ];
};
in
{
options = {
@ -10,10 +17,12 @@ in
};
config = lib.mkIf cfg {
environment.etc."pipewire/pipewire.conf.d/zeroconf.conf".text = builtins.toJSON {
"context.modules" = [ {
"name" = "libpipewire-module-zeroconf-discover";
} ];
environment.etc = lib.mkIf (!hasConfigPackages) {
"pipewire/pipewire.conf.d/zeroconf.conf".text = builtins.toJSON {
"context.modules" = [ {
"name" = "libpipewire-module-zeroconf-discover";
} ];
};
};
environment.systemPackages = lib.mkIf isGraphical (with pkgs; [
@ -67,7 +76,14 @@ in
"${nssmdns}" = true;
};
pipewire.pulse.enable = true;
pipewire = lib.optionalAttrs hasConfigPackages {
configPackages = [ (pkgs.runCommand "zeroconf.conf" { } ''
mkdir -p $out/share/pipewire/pipewire.conf.d/
ln -s ${pkgs.writeText "zeroconf.conf" zeroconfConfig} $out/share/pipewire/pipewire.conf.d/zeroconf.conf
'') ];
}// {
pulse.enable = true;
};
# makes avahi unreliable
resolved.extraConfig = ''