Pipewire support
Recent versions of nixos have moved from pulseaudio to pipewire. Even with pipewire-pulse installed, setup.sh reports that libpulse.so.0 is cannot be found and fails.
pipewire-pulse is a pulseaudio compatible audio server that forwards to pipewire. It does not provide replacement client libraries for pulseaudio. You will need to provide the pulseaudio client libraries to have sound. It should be possible to install these without also installing the pulseaudio server.
It looks like libpulse is present on the system. I don't understand why the script isn't finding it.
> grep -F libpulse.so.0 <<< `ldconfig -p | cut -s -d $'\t' -f 2`
libpulse.so.0 (libc6,x86-64) => /lib/libpulse.so.0
FA is 32-bit and needs a 32-bit libpulse.
Ah, cool! It seems that if I request a 32-bit package without setting the necessary flags to enable 32-bit support, nix-shell just silently ignores me. I think there may be some other users who have tripped over this problem.
It's going to be a little while before I get a chance to sort out 32-bit support; please bear with me.
I am still working on this. Although I believe I have enabled 32-bit support, the shared object still isn't showing up even when I explicitly add it to the nix-shell launch command, so I guess I am missing something.
I suppose you can try removing the check for libpulse. It might fall back to alsa, which may or may not work. I'm not sure how 32-bit libpulse is supposed to be packaged for nix.
Are you able to confirm whether the 32-bit .so file actually gets downloaded at all? It should be in the store somewhere perhaps.
Also, are you configuring libpulse to be added to the FHS env?