76 lines
1.8 KiB
Nix
76 lines
1.8 KiB
Nix
{
|
|
self,
|
|
inputs,
|
|
...
|
|
}: {
|
|
flake.nixosModules.mumble = {
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
modules = with self.nixosModules; [
|
|
audio
|
|
];
|
|
in {
|
|
imports = modules;
|
|
services.murmur = {
|
|
enable = true;
|
|
bandwidth = 540000;
|
|
bonjour = true;
|
|
password = "password";
|
|
autobanTime = 0;
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
mumble
|
|
];
|
|
|
|
services.pipewire.extraConfig.pipewire = {
|
|
"97-null-sink" = {
|
|
"context.objects" = [
|
|
{
|
|
factory = "adapter";
|
|
args = {
|
|
"factory.name" = "support.null-audio-sink";
|
|
"node.name" = "Null-Sink";
|
|
"node.description" = "Null Sink";
|
|
"media.class" = "Audio/Sink";
|
|
"audio.position" = "FL,FR";
|
|
};
|
|
}
|
|
{
|
|
factory = "adapter";
|
|
args = {
|
|
"factory.name" = "support.null-audio-sink";
|
|
"node.name" = "Null-Source";
|
|
"node.description" = "Null Source";
|
|
"media.class" = "Audio/Source";
|
|
"audio.position" = "FL,FR";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
"98-virtual-mic" = {
|
|
"context.modules" = [
|
|
{
|
|
name = "libpipewire-module-loopback";
|
|
args = {
|
|
"audio.position" = "FL,FR";
|
|
"node.description" = "Mumble as Microphone";
|
|
"capture.props" = {
|
|
# Mumble's output node name.
|
|
"node.target" = "Mumble";
|
|
"node.passive" = true;
|
|
};
|
|
"playback.props" = {
|
|
"node.name" = "Virtual-Mumble-Microphone";
|
|
"media.class" = "Audio/Source";
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|