Love using Ansible (though I don't always love writing YAML).
PROTIP: I use it to manage my laptops/workstations with a hosts entry like:
[laptop-thinkpad]
localhost ansible_connection=local
Sometimes I think it's overkill, but the config files are a little easier to visually parse.