Tue 17 October 2017


Tacklebox for Fish Shell

Every time I introduce someone to fish shell, I point them to my Installing Fish Shell article. Inevitably, the next question I get is, “How do you do X in fish?”

As of today, Tacklebox and Tackle are my answers to that question.

Rather than sending snippets of code via email and hoping recipients can figure out how to install and use them, I’ve published two projects that allow folks to organize and share their most useful shell tools:

  • Tacklebox is a framework that makes it easy to organize and share collections of handy fish shell tools.
  • Tackle is a repository of fish shell functions, modules, plugins, and themes designed to be used with the Tacklebox framework.

While the Tackle repository is still in its infancy, it includes two modules that make it easier to manage virtual environments. Available plugins include tools for Docker, pip, and keeping your system up-to-date.


While thinking about the best way to share fish shell tools, I came across Oh My Fish, but it didn’t quite do what I wanted. I wanted the code organization/loading mechanism to be separate from the collection of plugins and themes. In addition, I wanted folks to be able to use multiple repositories. There are many ways of accomplishing a given task, so why limit yourself to a single implementation? Tacklebox allows you to pick and choose your favorite plugins and themes from multiple repositories. That said, I owe thanks to Bruno and the Oh My Fish contributors for laying the groundwork.

Getting started

Head over to the Tacklebox project page to get started. I hope you find it useful. Hit me up on @jmayer on Twitter if you have any questions or comments.