- hosts: all tasks: - group_by: key={{ ansible_distribution }} - hosts: MacOSX gather_facts: false tasks: - name: install dependencies homebrew: name={{ item }} state=present with_items: - git - stow - hosts: Debian gather_facts: false tasks: - name: install dependencies apt: pkg={{ item }} state=present with_items: - git - stow - hosts: all gather_facts: false vars: stow_packages: - git - tmux tasks: - name: clone dotfiles git: repo=https://github.com/kejadlen/dotfiles.git dest=~/.dotfiles - name: stow files command: chdir={{ ansible_env.HOME }}/.dotfiles stow --target={{ ansible_env.HOME }} --stow {{ item }} with_items: stow_packages - name: link unstowable files file: src={{ ansible_env.HOME }}/.dotfiles/{{ item.key }} dest={{ ansible_env.HOME}}/{{ item.value }} state=link with_dict: git/.gitignore: .gitignore