A friendly wrapper for launchctl. Start your agents and go to lunch!
Don't you hate OSX's launchctl? You have to give it exact filenames. The syntax is annoying different from Linux's nice, simple init system and overly verbose. It's just not a very developer-friendly tool.
Lunchy aims to be that friendly tool by wrapping launchctl and providing a few simple operations that you perform all the time:
- ls [pattern]
- start [pattern]
- stop [pattern]
- restart [pattern]
- status [pattern]
- install [file]
- uninstall [pattern]
- show [pattern]
- edit [pattern]
where pattern is just a substring that matches the agent's plist filename. If you don't use a unique pattern, Lunchy will warn you of this and give you a list of the matching items instead.
So instead of:
launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist you can do this:
lunchy start redis and:
> lunchy ls com.danga.memcached com.google.keystone.agent com.mysql.mysqld io.redis.redis-server org.mongodb.mongod The original name was supposed to be launchy. Lunchy isn't a great name but gem names are like domains, most of the good ones are taken. :-(
gem install lunchy Lunchy is written in Ruby because I'm a good Ruby developer and a poor Bash developer. Help welcome.
Thanks to all the individual contributors who've improved Lunchy, see credits in History.md.
Lunchy was written as part of my project time at Carbon Five. They're hiring if you love working on Ruby and open source.
Mike Perham, @mperham, mikeperham.com