nixos-lib/desktop/pipewire/pipewire-airplay.conf.nix

64 lines
2 KiB
Nix

{
lib,
writeText,
}:
writeText "pipewire-airplay.conf" ''
# Noise canceling source
#
# start with pipewire -c filter-chain/source-rnnoise.conf
#
context.properties = {
log.level = 3
}
#context.spa-libs = {
# audio.convert.* = audioconvert/libspa-audioconvert
# support.* = support/libspa-support
#}
context.modules = [
{ name = libpipewire-module-rtkit
args = {
nice.level = -11
}
flags = [ ifexists nofail ]
}
{ name = libpipewire-module-protocol-native }
{ name = libpipewire-module-client-node }
{ name = libpipewire-module-adapter }
{ name = libpipewire-raop-discover
args = {
#raop.latency.ms = 1000
stream.rules = [
{ matches = [
{ raop.ip = "~.*"
#raop.port = 1000
#raop.name = ""
#raop.hostname = ""
#raop.domain = ""
#raop.device = ""
#raop.transport = "udp" | "tcp"
#raop.encryption.type = "RSA" | "auth_setup" | "none"
#raop.audio.codec = "PCM" | "ALAC" | "AAC" | "AAC-ELD"
#audio.channels = 2
#audio.format = "S16" | "S24" | "S32"
#audio.rate = 44100
#device.model = ""
}
]
actions = {
create-stream = {
#raop.password = ""
stream.props = {
#target.object = ""
media.class = "Audio/Sink"
}
}
}
}
] # stream.rules
} # args
}
}]''