--- - name: Install MacOS Packages hosts: localhost become: false vars: brew_cask_packages: - 'atom' - 'docker' - 'dropbox' - 'firefox' - 'google-chrome' - 'google-drive' - 'google-hangouts' - 'iterm2' - 'keepassx' - 'kodi' - 'lastpass' - 'macvim' - 'royal-tsx' - 'skype' - 'slack' - 'sling' - 'spotify' - 'sublime-text' - 'vagrant' - 'vagrant-manager' - 'virtualbox' - 'virtualbox-extension-pack' - 'visual-studio-code' - 'vmware-fusion' brew_packages: - 'autoconf' - 'bash-completion' - 'boot2docker' - 'consul' - 'docker-compose' - 'docker-machine' - 'doxygen' - 'git' - 'git-lfs' - 'go' - 'jq' - 'nmap' - 'nomad' - 'openssl' - 'packer' - 'pyenv' - 'python' - 'rancher-compose' - 'rbenv' - 'ruby-build' - 'ssh-copy-id' - 'terraform' - 'terraform-inventory' - 'terraform-provisioner-ansible' - 'tmux' - 'tree' - 'vault' - 'wget' - 'zsh' - 'zsh-syntax-highlighting' install_homebrew_if_missing: false # python_modules: # - 'configparser' # - 'pylint' # - 'virtualenv' upgrade_homebrew_packages: false pre_tasks: - name: Ensuring Homebrew Is Installed stat: path: "/usr/local/bin/brew" register: "homebrew_check" - name: Fail If Homebrew Is Not Installed and install_homebrew_if_missing Is False fail: msg: "Homebrew is missing...Install from http://brew.sh/" when: > not homebrew_check.stat.exists and not install_homebrew_if_missing - name: Installing Homebrew command: '/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"' when: > not homebrew_check.stat.exists and install_homebrew_if_missing tasks: - name: Updating Homebrew homebrew: update_homebrew: true when: homebrew_check.stat.exists - name: Installing Homebrew Packages homebrew: name: "{{ item }}" state: "present" upgrade_all: "{{ upgrade_homebrew_packages }}" with_items: '{{ brew_packages }}' when: homebrew_check.stat.exists - name: Installing Homebrew Cask Packages homebrew_cask: name: "{{ item }}" state: "present" with_items: '{{ brew_cask_packages }}' when: homebrew_check.stat.exists # - name: Installing Python Modules # pip: # name: "{{ item }}" # state: "present" # with_items: '{{ python_modules }}'