Fisher
A plugin manager for Fish
...Fisher expands plugins into your Fish configuration directory by default, overwriting existing files. If you wish to change this behavior, set $fisher_path to your preferred location and put it in your function path. Whenever you install or remove a plugin from the command line, Fisher will write down all the installed plugins, adding this file to your dotfiles or version control is the easiest way to share your configuration across different systems. A plugin can be any number of files in a functions, conf.d, and completions directory. Most plugins consist of a single function, or configuration snippet.