Skip to content

steveoh/ansible-dev-pc-clone

 
 

Repository files navigation

Mac Developer Machine Setup

This repository contains useful scripts to set up a mac development machine. They have been tested with the following OSes:

OS SKU Version(s)
macOS Desktop 10.15

Pre-Requisites

macOS

  1. Install Homebrew

  2. Install Ansible

  3. Set up Python 3 as the default version of Python:

    echo "alias python='python3'" >> ~/.zshrc
    echo "export PATH=$HOME/Library/Python/3.7/bin:$PATH" >> ~/.zshrc
  4. Add secrets

    echo "export GITHUB_NOTIFICATIONS_TOKEN=" >> ~/.zshenv
    echo "export ANSIBLE_PIANO_USER=" >> ~/.zshenv
    echo "export ANSIBLE_PIANO_PW=" >> ~/.zshenv

Running

Before running the scripts, please review _all.yaml and _all_no_customization.yaml, and comment out software you don't want installed. In particular, most folders contain customization.yaml files which tend to contain my personal opinions on customizations; feel free to comment out sections of those files, or ignore them entirely.

To run the setup:

ansible-playbook -K _all.yaml

To see what has changed since the last run:

ansible-playbook -K _all.yaml --check --diff

You will be prompted for your password, so that administrative-level software can be installed. You must be a sudoer to run these scripts, otherwise the installation process will fail. You can also run individual files if you'd prefer to take more control over what's executed.

Since core OS packages are upgraded, it is safest to reboot the PC/VM after running these scripts. At a bare minimum, many UI shell customizations done here will require you to log out and log back in.

After Running

  1. Import all used gpg keys

    • `gpg --export-secret-keys "name of key" > private.key
    • gpg import private.key
  2. Create a couple of github personal access tokens

    • one with notification scope for vscode plugin
    • one with repo and gis for your first git cli commit

About

Ansible script to stand up a new mac development machine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 93.8%
  • HTML 6.2%