pipewire
This commit is contained in:
parent
798c01f48d
commit
d06dc2f39b
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user