57 lines
1.5 KiB
Nix
57 lines
1.5 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
options.bchmnn = {
|
|
audio = {
|
|
enable = lib.mkEnableOption "audio";
|
|
pipewire-wine-fix = {
|
|
enable = lib.mkEnableOption "pipewire-wine-fix";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
services.pipewire =
|
|
lib.mkIf (config.bchmnn.audio.enable && (!builtins.elem "gnome" config.bchmnn.gui.flavour))
|
|
{
|
|
enable = true;
|
|
audio.enable = true;
|
|
pulse.enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
jack.enable = true;
|
|
wireplumber.enable = true;
|
|
extraConfig.pipewire = lib.mkIf config.bchmnn.audio.pipewire-wine-fix.enable {
|
|
"90-wine-config" = {
|
|
"context.properties" = {
|
|
# "default.clock.rate" = 48000;
|
|
"default.clock.allowed-rates" = [
|
|
44100
|
|
48000
|
|
];
|
|
# "default.clock.quantum" = 2048;
|
|
# "default.clock.min-quantum" = 1024;
|
|
};
|
|
};
|
|
};
|
|
extraConfig.pipewire-pulse = lib.mkIf config.bchmnn.audio.pipewire-wine-fix.enable {
|
|
"90-wine-config" = {
|
|
"pulse.properties" = {
|
|
"pulse.min.req" = "1024/48000";
|
|
# "pulse.min.frag" = "1024/48000";
|
|
# "pulse.min.quantum" = "1024/48000";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = lib.optionals config.bchmnn.audio.enable [
|
|
pkgs.alsa-utils
|
|
pkgs.pulseaudio
|
|
];
|
|
};
|
|
}
|