audio: use 23.11 features
This commit is contained in:
parent
ffdf2baa39
commit
277c13c3c6
|
@ -2,7 +2,6 @@
|
|||
|
||||
let
|
||||
cfg = config.c3d2.audioStreaming;
|
||||
release = lib.strings.fileContents "${pkgs.path}/.version";
|
||||
in
|
||||
{
|
||||
options = {
|
||||
|
@ -10,12 +9,10 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg {
|
||||
environment.etc = lib.optionalAttrs (lib.versionAtLeast release "23.05") {
|
||||
"pipewire/pipewire.conf.d/zeroconf.conf".text = builtins.toJSON {
|
||||
"context.modules" = [ {
|
||||
"name" = "libpipewire-module-zeroconf-discover";
|
||||
} ];
|
||||
};
|
||||
environment.etc."pipewire/pipewire.conf.d/zeroconf.conf".text = builtins.toJSON {
|
||||
"context.modules" = [ {
|
||||
"name" = "libpipewire-module-zeroconf-discover";
|
||||
} ];
|
||||
};
|
||||
|
||||
environment.systemPackages = lib.mkIf config.services.xserver.enable (with pkgs; [
|
||||
|
@ -48,48 +45,31 @@ in
|
|||
};
|
||||
|
||||
# required for paprefs to be able to save
|
||||
programs.dconf.enable = lib.mkIf config.services.xserver.enable true;
|
||||
programs.dconf = lib.mkIf config.services.xserver.enable {
|
||||
enable = true;
|
||||
profiles.user.databases = [{
|
||||
settings."org/freedesktop/pulseaudio/module-groups/zeroconf-discover" = {
|
||||
args0 = "";
|
||||
enabled = true;
|
||||
name0 = "module-zeroconf-discover";
|
||||
};
|
||||
}];
|
||||
};
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services = {
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
nssmdns4 = true;
|
||||
};
|
||||
|
||||
pipewire = lib.mkMerge [
|
||||
(lib.optionalAttrs (lib.versionOlder release "23.05") {
|
||||
config.pipewire-pulse =
|
||||
let
|
||||
default-pipewire-pulse = lib.importJSON (pkgs.path + "/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json");
|
||||
in
|
||||
default-pipewire-pulse // {
|
||||
"context.modules" = default-pipewire-pulse."context.modules" ++ [
|
||||
{
|
||||
"name" = "libpipewire-module-zeroconf-discover";
|
||||
}
|
||||
];
|
||||
};
|
||||
})
|
||||
{
|
||||
pulse.enable = true;
|
||||
}
|
||||
];
|
||||
pipewire.pulse.enable = true;
|
||||
|
||||
# makes avahi unreliable
|
||||
resolved.extraConfig = ''
|
||||
MulticastDNS=no
|
||||
'';
|
||||
};
|
||||
|
||||
# TODO: rebuild using programs.dconf.profiles, see https://github.com/NixOS/nixpkgs/pull/234615
|
||||
system.userActivationScripts.enableZeroconfDiscover = lib.mkIf config.services.xserver.enable ''
|
||||
echo "[org/freedesktop/pulseaudio/module-groups/zeroconf-discover]
|
||||
args0=''\''
|
||||
enabled=true
|
||||
name0='module-zeroconf-discover'
|
||||
" | ${pkgs.dconf}/bin/dconf load /
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue