Hello!
I also had this problem. I found that nix-shell --run $SHELL and nix develop -c $SHELL would both open ZSH as I preferred, so my solution was to make a bash alias for these two functions.
Add the following to your shell rc file:
alias nix-shell='nix-shell --run $SHELL'
nix() {
if [[ $1 == "develop" ]]; then
shift
command nix develop -c $SHELL "$@"
else
command nix "$@"
fi
}
For zsh, I added this to my zshrc file.
Now when I type nix-shell or nix develop, it opens zsh instead of bash.
Hope this helps!