I hate to be that guy, but I just recommend switching to Pipewire with Pulseaudio emulation. In my experience this fixes pretty much all problems that people have with sound.
Quoting from Headphone volume resets itself to 100% - #2 by hmenke
{ hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; }
I do not recommend using the Jack emulation (
services.pipewire.jack.enable = true
) at this point because it usesLD_LIBRARY_PATH
which breaks some applications (Evolution, epiphany: Webkitgtk bubblewrapper crashes when LD_LIBRARY path points into /run/current-system/** (the case on a pipewire system with jack emulation) · Issue #110468 · NixOS/nixpkgs · GitHub).