ну, он почти всегда там, за исключением некоторых редких кейсов так что /usr/bin/env куда более портируемая штука, но тоже не 100% гарантия, это не прописано в стандарте
меня шебанг всегда заморачивал. это вполне рабочее решение (но порой вызывает проблемы при переходе на другие системы). почему бы просто не указывать загрузчику что для выполнения требуется bash 5+ - пусть дальше сам делает. тогда, возможно и с NixOS проблем не было бы