Something that seems small but I think makes for much better UX: configuring fish, creating permanent ENV variables, creating abbreviations, etc doesn't require editing files. Using its shell functions for creating/editing those things updates your config files