As I suppose the other user already went over your main query, I'll instead focus on what might have felt rather innocuous.
my default shell is fish
I subscribe to the school of thought that one should not change their default shell^[I suppose it could be fine~ish as long as it's POSIX compliant AND compatible with bash. Which, unfortunately, fish happens to be neither of the two.] through invoking chsh (or whatever other method that applies changes to /etc/passwd). This article does an excellent job at laying down the reasoning (and the recommended alternative). FWIW, the alternative's day-to-day experience provides all of the pros without any of the cons.