nix-files/hosts/common/programs/wireplumber.nix

43 lines
1.1 KiB
Nix

{ ... }:
{
sane.programs.wireplumber = {
sandbox.method = "bwrap";
sandbox.whitelistDbus = [
"system" #< so it can request better scheduling from rtkit
"user" #< TODO: is this needed?
];
sandbox.whitelistAudio = true;
sandbox.extraPaths = [
# i think these video inputs (for e.g. webcam) are optional.
"/dev/media0"
"/dev/snd"
"/dev/video0"
"/dev/video1"
"/dev/video2"
"/run/systemd"
"/run/udev"
"/sys/class/sound"
"/sys/class/video4linux"
"/sys/devices"
];
sandbox.extraConfig = [
# needed if i want rtkit to grant this higher scheduling priority
"--sane-sandbox-keep-namespace" "pid"
];
suggestedPrograms = [ "alsa-ucm-conf" ];
persist.byStore.plaintext = [
# persist per-device volume levels
".local/state/wireplumber"
];
services.wireplumber = {
description = "wireplumber: pipewire Multimedia Service Session Manager";
depends = [ "pipewire" ];
partOf = [ "sound" ];
command = "wireplumber";
};
};
}