This commit is contained in:
zuckerberg 2021-06-30 16:36:58 -04:00
parent 798c01f48d
commit d06dc2f39b

View File

@ -4,26 +4,59 @@ let
cfg = config.de; cfg = config.de;
in { in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
# Audio
sound.enable = true;
# enable pulseaudio support for packages # enable pulseaudio support for packages
nixpkgs.config.pulseaudio = true; nixpkgs.config.pulseaudio = true;
# realtime pulseaudio # realtime audio
security.rtkit.enable = true; security.rtkit.enable = true;
hardware.pulseaudio = { services.pipewire = {
enable = true; enable = true;
support32Bit = true; alsa.enable = true;
package = pkgs.pulseaudioFull; # bt headset support alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
# TODO: switch on connect isn't working for some reason (at least when in kde) # use the example session manager (no others are packaged yet so this is enabled by default,
extraConfig = " # no need to redefine it in your config for now)
load-module module-switch-on-connect #media-session.enable = true;
load-module module-switch-on-connect ignore_virtual=no
"; config.pipewire = {
"context.objects" = [
{
# A default dummy driver. This handles nodes marked with the "node.always-driver"
# properyty when no other driver is currently active. JACK clients need this.
factory = "spa-node-factory";
args = {
"factory.name" = "support.node.driver";
"node.name" = "Dummy-Driver";
"priority.driver" = 8000;
};
}
{
factory = "adapter";
args = {
"factory.name" = "support.null-audio-sink";
"node.name" = "Microphone-Proxy";
"node.description" = "Microphone";
"media.class" = "Audio/Source/Virtual";
"audio.position" = "MONO";
};
}
{
factory = "adapter";
args = {
"factory.name" = "support.null-audio-sink";
"node.name" = "Main-Output-Proxy";
"node.description" = "Main Output";
"media.class" = "Audio/Sink";
"audio.position" = "FL,FR";
};
}
];
};
}; };
users.users.googlebot.extraGroups = [ "audio" ]; users.users.googlebot.extraGroups = [ "audio" ];
# bt headset support # bt headset support