Nix-shell does not use my user's shell (zsh)

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!