This is playbook to install and configure software on a Macbook used for devops and cloud development.
It is continually evolving and leans heavily on the following examples on Github:
Run the installer script...
curl -fsSL https://raw.githubusercontent.com/bmacauley/ansible-playbook-mac-dev/master/install | bash
The installer script installs Apple's command line tools , Homebrew, Python Pip, Ansible and finally it downloads and runs this playbook
Alternatively...
- Install Apple's command line tools, if they are not installed (
xcode-select --install
) - Install Homebrew
- Install Ansible
- Clone this playbook to your Macbook
- Run
$ ansible-galaxy install -r requirements.yml
inside this directory to install required Ansible roles - Run
ansible-playbook main.yml -i inventory -K
inside this directory. Enter your account password when prompted.
Not everyone's development environment and preferred software configuration is the same.
You can override any of the defaults configured in default.config.yml by creating a config.yml file and setting the overrides in that file. For example, you can customize the installed packages and apps with something like:
Applications (Homebrew Casks):
- ack
- awscli
- aws-shell
- autoconf
- bash
- bash-completion
- bfg
- battery
- cowsay
- ctags
- curl
- docker
- docker-clean
- docker-compose
- docker-gen
- docker-machine
- duti
- enca
- fish
- freetds
- gdbm
- geoip
- gettext
- git
- git-crypt
- git-flow
- github-release
- git-subrepo
- gitup
- go
- gpg
- gradle
- hub
- heroku
- heroku-toolbelt
- htop-osx
- httpie
- hugo
- ipcalc
- iperf
- jq
- keychain
- libevent
- libffi
- libvterm
- libxml2
- libyaml
- macvim
- maven
- mas
- mcrypt
- md5sha1sum
- mercurial
- mobile-shell
- mtr
- multitail
- mysql
- nmap
- node
- npm
- nvm
- nginx
- mas
- openssl
- openvpn
- p7zip
- packer
- pandoc
- parallel
- postgresql
- pup
- pv
- python
- python3
- rancher-cli
- rancher-compose
- rbenv
- readline
- reattach-to-user-namespace
- redis
- ruby
- s3cmd
- saltstack
- scons
- spark
- sqlite
- ssh-copy-id
- tccutil
- terraform
- terragrunt
- the_platinum_searcher
- the_silver_searcher
- tig
- tmux
- tree
- unixodbc
- vim
- wget
- wrk
- zeromq
- zsh
Packages(Homebrew):
- alfred
- amazon-workdocs
- amazon-workspaces
- atom
- caffeine
- charles
- clipmenu
- coconutbattery
- cyberduck
- docker
- dropbox
- fantastical
- firefox
- flux
- gas-mask
- gitter
- github-desktop
- google-chrome
- google-drive
- google-hangouts
- intellij-idea
- iterm2
- istat-menus
- java
- jump-desktop
- joinme
- kitematic
- kindle
- limechat
- omnigraffle
- pgadmin4
- postico
- postman
- powershell
- pycharm
- sequel-pro
- skitch
- sourcetree
- slack
- sublime-text
- tomighty
- transmit
- tunnelblick
- vagrant
- virtualbox
- visual-studio-code
- wifi-explorer
Instructions to build a Mac OS X VirtualBox VM(geerlingguy), on which you can continually run and re-run this playbook to test changes and make sure things work correctly.
Additionally, this project is continuously tested on Travis CI's macOS infrastructure.