Setting up a new machine has never been an easy task, I remember back in the days where I was a windows user, setting up a new machine was a real pain in the ass.
I used to write everything I had installed on a piece of paper and then go one by one and install everything, if I needed to download it could take even days to get a new machine up to speed.
Today I am a Mac user (Thank god), so installing a new machine for myself is the easiest, I simply restore it from a time machine, and I am ready to go in a matter of minutes (well, maybe more, because the data can take quite some GB’s)
At Gogobot, we have new developers coming in (Yeah, we are growing), they all get a brand new Mac machine and they need to get it up and running, this is a common thing, since many developer buy new machines and they want the environment for Ruby, Rails, RVM and the rest of the stack be ready for them, no hassle.
When I came in to Gogobot, we were still running on rails 2 with no bundler, so this was a bigger pain, but today, we are on rails 3 and we have bundler which certainly makes the process easier, but still, not as easy as I wanted it to be.
Our development environment uses almost across the stack technologies, we use mysql of course, we use Redis, memcached, Resque, SOLR and many more, so installing everything can take a long time.
We wanted to take this pain away, enabling new developers (and of course all of the community) to get their machines up and running in a matter of minutes with no interruption for the developer. So, while the developer is doing his tour around the system, his machine will be ready for him when he gets back.
(B.T.W, I keep saying him, but I am referring to female developers as well, don’t get me wrong here ha…)
Last week, I got me a brand new machine, and I could not access my time machine (I was out of my house).
So, I said this is a good opportunity to do what I wanted to do in ages now and get this script up and running.
I started with a script Thoughbot had released, I tweaked it and twisted it to fit our needs.
I got my new machine up and running with our project in about 20 minutes, that was amazing and it certainly breaks a Gogobot record.
So, as I always do when I have something half decent, I released it as open source.
You can find it here
Please feel free to use it, if you are having any issues, open an issue in the repo and I will try to address it.
Keep in mind the script is provided AS IS.