DEV Community

Bak3y
Bak3y

Posted on

Automating New OSX Setup #1 - What?

As part of moving to a new job, I'm going to end up with a new Macbook Pro. As such I'm going to have a super clean slate to start with and I'd like to tackle a goal of mine I've had for a while - a fully automated system configuration.

Logically step 1 here seems to be the What question: What am I going to try to cover here? I've come up with a short list that makes sense to me:

  • Restore keypair from TimeMachine backup
  • Install Python3 and pip
  • pip install Ansible

Now that I have a basis for automation, I'd like to do the rest via ansible playbook if possible:

  • install Homebrew
  • Setup various OS preferences (iCloud login, trackpad, dock, display, etc)
  • install Firefox
  • sign into Firefox
  • install VSCode
  • setup dotfiles (should just be a git pull)
  • install/configure BashIt
  • install/configure Go
  • setup extensions for VSCode (python, Go, Ansible)
  • setup AWS CLI (boto3, botocore)
  • configure AWS CLI

Now's where you guys come in. What am I forgetting here?

Top comments (7)

Collapse
 
codenutt profile image
Jared

I suppose that depends on what you work on normally? Here's my dotfiles, maybe that'll help a bit.

github.com/DarthOstrich/dotfiles

Note: I do all my installation via Bash, instead of ansible.

Collapse
 
bak3y profile image
Bak3y

That's part of the rub, going into a new position I'm not totally sure what that looks like quite yet, and yeah I do have some dotfiles already set up I'm going to clone back down and set up as hyperlinks.

Collapse
 
codenutt profile image
Jared

Ah, gotcha. Makes sense. I install a bunch of stuff via a Brewfile also, which may be useful.

Thread Thread
 
bak3y profile image
Bak3y

I see that - and I may use some of it, but I'm probably going to lean on Ansible to do most of my heavy lifting.

docs.ansible.com/ansible/latest/mo...

Thread Thread
 
codenutt profile image
Jared

Out of curiosity, why? I've used ansible a little bit, but not much.

Thread Thread
 
bak3y profile image
Bak3y

Comfort level, flexibility, and centralized config-as-code in my case. The goal being to run 1 Ansible playbook (after a few prerequisites are installed, likely via shell script) to fully configure my machine. Also consider it a partial personal challenge. I think it can be done, and I'd like to try.

Thread Thread
 
codenutt profile image
Jared

Sounds cool. Good luck!