I’m using pipewire
and while pipewire.service
starts after booting, wireplumber.service
doesn’t. After running journalctl -b | grep -i wireplumber
, I get the following output:
Jan 02 16:32:28 nixos systemd[1906]: wireplumber.service: Failed to open /home/jon/.config/systemd/user/wireplumber.service: No such file or directory
cd /home/jon/.config/systemd/user/wireplumber.service
returns the following output:
cd: '/home/jon/.config/systemd/user/wireplumber.service' is a broken symbolic link to '/nix/store/4awbxhh2j40dfkc4cfq1b879j6b20s97-wireplumber-0.4.11/lib/systemd/user/wireplumber.service'
It turns out that wireplumber.service is a broken symbolic link to a store path that no longer exists. readlink -f
also returns nothing.
If I want to get sound to work I have to start wireplumber manually by running wireplumber
, but when I try to start the user unit with systemctl restart --user wireplumber
I get:
Failed to restart wireplumber.service: Unit wireplumber.service not found.
I find this confusing because I can see it exists in /etc/systemd/user/
and the symbolic link isn’t broken.
This is my NixOS version:
NixOS, 22.11 (Raccoon), 22.11.1315.6a0d2701705
and kernel version:
Linux 6.1.1
Here is a snippet from my configuration.nix
:
services.pipewire = {
audio.enable = true;
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
};
Any help would be greatly appreciated.