I’ve found the built in nix firewall to be somewhat lacking (can’t have different ports open on different networks for instance, I would rather reduce my attack surface while out on other people’s/public WiFi)
Is it possible to use other firewall software on NixOS declaratively?
You want firewalld. Not declarative (probably?), but the only option that can dynamically change firewall rules based on the network you are connected to.
Look into firewalld zones.