Starting and stopping brew services using BitBar plugin

I was looking for a UI solution to easily start and stop homebrew services. Check out what I found – a handy app with ready to use plugins.

I use homebrew to manage all services and libraries used for a local development environment. For a long time, it was Apache, MySQL, and Redis. Recently I switched MySQL to MariaDB what gave huge gains on performance and stability, but I may write about this another time.

I was using brew services commands to start and stop all those services but at some point I started wondering if there is any UI allowing quickly start and stop them, and even better, to let me clearly view status of any of them.

A first interesting solution I found was LaunchRocket – a preference pane for managing services. Unfortunately, it looks it doesn’t use brew services but just launchd. Another thing is that it looks a bit abandoned – most of the revisions were done 5 years ago with some fixes from before a year.

I couldn’t find any other solutions so I started thinking about writing a small wrapper for brew services to let me use them from menu bar icon. I started gathering some know-how about menu bar apps development and I found a BitBar – application which allows creating scripts to be run in a menu bar. It looked like a great fit as I wouldn’t need to learn how to write full-featured macOS application. Instead, I could just create a ruby script as a wrapper for brew services.

Apparently, someone already made a plugin for brew services. I gave it a try and I found it works out of the box!

It’s really simple to set up:

  • Install BitBar – just download it and put to Applications folder
  • Install BitBar Brew Services plugin – click on “Add to BitBar” on the plugin page and it should download it to plugins directory.

That’s it. For sure I will explore other plugins as it looks like a really nice application for macOS automation and simple ad-hoc development.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *