A Streamlined Bootstrapper for Save OS X

By Calum MacRae

January 3, 2015

Well this is weird… I'm actually writing a blog post.

Youri and I have been working on Save OS X on and off for quite some time now. It's grown and matured into something we're very proud of, but sadly, we're not the best at advocacy. This is something we'll be working on. I won't be going into detail about the project at large in this post. I wanted to write about a specific script I threw together the other day, and my motives behind writing it.

What the people want!

So far, whilst writing the bootstrap scripts for Save OS X, I've approached it in such a way that assumes the user is completely unfamiliar with all the underlying technologies. The bootstrap script, which is intended as the only script the user needs to run, is completely interactive. It provides some fancy title screens per section, detailing what that part of the project is, and what it's used for.

I tried out Homebrew for the first time in a while the other day. It ended in frustration, and actually broke itself - something I wasn't expecting. But, I'm not writing about brew to bash it: I really liked how simple the install was. With the suggestion of piping from curl to ruby (relevant) aside, it was a pleasant set-up, and running in no time. This is something we didn't offer. It was nice, as a user who already knew what it was, and knew what they wanted, to have a hassle free, fast install.

So, I stripped out all the mish-mash of case statements nested in while loops from the bootstrap script, and quickstrap was born. I didn't bother including the functionality of the x-setup script, if people want it, they can just run that script on its own :)

Yeah… so?

Well, now you can get secure, 64bit binary package management, with GPG verification, running on OS X in under a minute. I hope that's as nice to other people as it seems to me.

pkgsrc has been supported on OS X for a very long time, and pkgin has always been dead simple to set up, so this isn't radically new. Though, we are bringing GPG signed packages to the table, thanks to the excellent work from @khorben of the EdgeBSD project, and Youri's relentless work on the packages. Along with this, you don't have to worry about setting up OS X's PATH/MANPATH evaluation, and GPG is handled for you.

A quick demo

I decided to throw a demo up, using showterm.io:


Note: The time for some of the exeutions in this demo are inaccurate - it is, in fact, a faster process from the shell. This is due to the way showterm processes text

Go grab it

You can get the quickstrap script from my GitHub: https://github.com/cmacrae/saveosx

So, have at it people. Let us know what you think!

We'll keep you posted!

We're working on various improvements to the project at the moment. We'll be updating http://saveosx.org with a more intuitive & informative layout. Also, Youri's cooking up new packages as I type!

Posted on:
January 3, 2015
3 minute read, 518 words
package-management macOS
See Also:
A Seamless X11 Experience on OS X
A Quick Demo of Save OS X on a Fresh Yosemite Install