Earlier quoted context omitted.
I'm so glad I switched to fish, I'd rather have genuinely good settings out of the box rather than endless configuration, and honestly it's much better out of the box than any configuration I've ever had. Only drawback is that it's not POSIX, no issue for me, but maybe for people who have a lot of muscle memory with bash.
For POSIX: I leave Bash as the system shell and then shim into Fish only for interactive terminals. This works surprisingly well, and any POSIX env initialisation will be inherited. I very rarely need to do something complicated enough in the REPL of the terminal and can start a subshell if needed. Fish is nicer to script in by far, and you can keep those isolated with shebang lines and still run Bash scripts (with a…
I guess that somewhat breaks with fish: either you use bash -c '...' from the start, or you adopt the fish syntax, which means you need to convert again when you switch to a (bash) script.