-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pipewire not applying extra config after upgrade #298158
Comments
the easier way is probably not trying to nixify the pipewire-json: services.pipewire.configPackages = [
(pkgs.writeTextDir "share/pipewire/foo/bar.conf" ''
-- contents here
'')
]; so you can keep it as a string |
Thanks a lot. I tried creating the pipewire config the way you described, rebooted, and now it works as before. From my POV, this can be closed, but I'm not sure if that's desired as this looks like a regression. |
I'd definitely say that the new methods need documentation. |
This is a bit of an issue with how PipeWire has dotted attribute names. They way you translated the config into a nix attrset creates nested objects whereas PipeWire expects flat ones: {
"context": {
"objects": [
{
"args": {
"audio": {
"position": "FL,FR"
},
"factory": {
"name": "support.null-audio-sink"
},
"media": {
"class": "Audio/Sink"
},
"node": {
"description": "Output for OBS",
"name": "OBS-only"
}
},
"factory": "adapter"
}
]
}
} To get what you'd want, you'd have to use the following: services.pipewire.extraConfig.pipewire = {
"10-obs-only-sink" = {
"context.objects" = [
{
factory = "adapter";
args = {
"factory.name" = "support.null-audio-sink";
"node.name" = "OBS-only";
"media.class" = "Audio/Sink";
"node.description" = "Output for OBS";
"audio.position" = "FL,FR";
};
}
];
};
}; Perhaps |
A short but reasonably self-explanatory example in the |
Describe the bug
After I migrated from using
environment.etc."pipewire<...>"
toservices.pipewire.extraConfig
, (see #282377) Pipewire isn't applying the configuration I have defined in my nix config. In my case, I am trying to create a null sink.Steps To Reproduce
Steps to reproduce the behavior:
nixos-rebuild switch
pactl list short sinks
)Expected behavior
A null sink should be created.
Additional context
My Pipewire configuration is as follows:
And before the upgrade the sink part was
I can see the config files are being created:
and Pipewire seems to recognise them as well:
Let me know if you need any extra information.
Notify maintainers
@K900
@hcsch since it was your PR
Metadata
Please run
nix-shell -p nix-info --run "nix-info -m"
and paste the result.Add a 👍 reaction to issues you find important.
The text was updated successfully, but these errors were encountered: