I use Ansible with Brew and Brew Cask. I've found using Brew for everything makes it easier to upgrade all applications for security reasons and it also gives a high level view of my system. Here's the relevant config file of the things I install:
https://github.com/arianitu/setup-my-environment/blob/master...
The ansible script also links to my dotfiles, which can be found at: