Personal machine setup using Ansible
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
roles
test
.travis.yml
README.md
ansible.cfg
bootstrap.sh
hosts
local-osx.yml
local-ubuntu.yml
remote.yml

README.md

Machine setup Build Status

This is my personal machine setup.

It's largely set up for my particular needs, but by using roles (and swapping files, etc) it is quite easy to customize. Remove as much as possible and build up, making changes as you go, so it fits your needs. The only things you need to change are in roles.

Set up

To install, all you need to do is run bootstrap.sh remotely. It will install some pre-requisites (gcc, Homebrew, git, and Ansible) and will then clone this repo locally (by default it clones into ~/.setup) and run the playbook:

$ curl -fsSL https://raw.githubusercontent.com/zacs/setup/master/bootstrap.sh | sh

If you prefer not to run code remotely, you just need to clone the repo down wherever you would like, and run:

$ ./bootstrap.sh

After installing the prerequisites this will run the local playbook for the first time. If for some reason bootstrap.sh barfs, you can run the playbook manually via:

$ ansible-playbook local.yml -i hosts --ask-sudo-pass --connection=local

If it's your first time, go brew some coffee or tea because this will take some time building packages.

Why?

Flattening and restarting a dev machine is daunting insofar as the time it takes, as well as the potential to forget things. Now I can wipe a machine and don't need to worry about the consequences.

GitHub's Boxen looked great but overkill, and I wanted to learn Ansible, so here we are.

Credits

The original inspiration was @bennylope's setup, though I've deviated quite a bit (and added continuous integration testing).

License

Public domain. Party.