The last new Mac I setup was back in 2016, November 20 and to do that I used ansible which was a wonderful experience. Rather than groveling for software to install, shell hacks, etc, my ansible routine handled all of those crappy tasks and it was brilliant. I can't claim any originality here – lots of people other than me have done this. In specific I drew inspiration from Jeff Geerling's ansible Macbook Pro repository. He and I did it differently (his ansible skills are better than mine) but the end result was much the same – a functional machine with minimal manual work.
I recently wrote about my lack of system stability and figured that it was time to address it. My thesis for some time has been that most of my errors are somehow related to lack of RAM so moving to a bigger box made sense. Over the weekend I converted my Linux Intel NUC over to an OSX Hackintosh and used an updated version of the same playbook to handle configuration. This means that I'm now working on a 32 gigs of RAM development box. It is unclear if this will work out long term or not but it is an interesting experiment. Of course since its a Hackintosh there are certain bits of weirdness like the fact that audio doesn't work at all at present. Ah well…
What to Do When You Just Installed OSX
Here are the steps to follow for a brand new Mac when you don't have any tooling installed yet:
- Install the command line tools: xcode-select –install
- Install pip: easy_install –user pip
Get pip into the path with:
$ printf 'if [ -f ~/.bashrc ]; then\n source ~/.bashrc\nfi\n' » $HOME/.profile $ printf 'export PATH=$PATH:$HOME/Library/Python/2.7/bin\n' » $HOME/.bashrc $ source $HOME/.profile
- Install ansible: pip install –user –upgrade ansible
- Create the global dir: sudo mkdir /etc/ansible
- Copy in a configuration file: sudo curl -L https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg -o /etc/ansible/ansible.cfg
- Verify it works with: ansible localhost -m ping
A good reference is the Binary Nature link below.