preamble |priːˈamb(ə)l, ˈpriː-| - a preliminary or preparatory statement
My current playbook to setting up a new Mac, it uses Ansible because it's easy to read and write and I hope it helps me avoid this.
I realise automating setting up a new machine probably isn't worth my time, here's a handy graph to see why. However, automating setting up a new machine wasn't the real goal, it was a headfake. By writing this I have an easy way to show others (and future me) what applications I'm using and how I installed them. An added bonus is the glee in feeling like I'm doing HIGH TECH COMPUTERING by installing stuff from a text file.
- Install Homebrew
- Install several rubies (see
ruby.yml
) - Install command line apps I use
- Install apps I use (everything I didn't get through App Store is installed using
brew cask
) - Set some sensible OSX defaults
And more, see the playbook.yml
for more info.
- Install Xcode
git clone
this reposudo easy_install pip; sudo pip install ansible
cd preamble
ansible-playbook playbook.yml
Once this is done, installing new things is as easy as changing the
playbook.yml
and rerunning ansible-playbook playbook.yml
.
I've also tried to add some tags, so you can target specific parts of
it (ansible-playbook --tags=tag1,tag2
) or skip specific parts
(ansbible-playbook --skip-tags=tag1,tag2
).
Available tags:
capslock
: Remaps capslock to control.databases
: Install databasesdefaults
: Sets Finder defaultsemacs
: Installs utils/libs used by GNU Emacs.fonts
: Installs the fonts I use.ios
: Installs everything related to iOSmail
: Installs mail-related tools.nodejs
: Installs nodejs tools.osx
: Installs OS X applications, and alsocapslock
anddefaults
.ruby
: Install rubies.utils
: Installs common command line utils.