After using fish for 3 years, I'm finding there is very little reason to have my login shell maintain backwards compatibility with bash.
The only time I run into issues is when a command expects manipulate environment variables via bash syntax.
I think the fish documentation WRT to scripting could be much better, but the language is more elegant than bash or PowerShell IMHO.
> The only time I run into issues is when a command expects manipulate environment variables via bash syntax.
And in my experience 90% of those are in the form `FOO=bar command` which can be replaced with `env FOO=bar command` and works just fine in fish.
Where things get problematic is with commands that send a set of environment variables to stdout, like
eval $(ssh-agent)
Sure you can get addons (like bass[0]) that will translate the sh environment variable settings to fish, but it’s a pain to have to do that (and remember wth it was called).