This is a generic *nix related question. Is there some reason
/etc/shells before deciding whether it should change the shell entry in
/etc/passwd? In nixos, setting
programs.<shell>.enable sets up some startup files in
/etc as well, but I don’t think that’s the reason
Also, is there a reason nixos places startup files in
/etc? Zsh allows the global rc file paths to be configurable (https://github.com/zsh-users/zsh/blob/8037462895b4de98528a6b56c2f35d606150d3f3/INSTALL#L436).