There are some optional bits for more niche things (like laptop battery) you can enable with a config file, but it’s not necessary.
Doable with configuration and either lots of work or plugins in other shells but the combo of fish + starship.rs offers a lot for little setup.
The other day an AWS command was rejected with a generic 403 error and at a glance I realized I'd forgotten to switch the default profile—without starship I suspect I would have spent a while troubleshooting my SSO login instead of just switching profiles.
Can also do cool stuff like search for a file to open in $EDITOR and searching git log
Longer scripts get the Python treatment or a Go application.
You can run bash scripts from fish.
For sourcing, often it makes sense to use direnv to automatically load variables. -- For "just source this one time", in the worst case you can run a bash shell, source that, then run a fish shell.