---
# This is a playbook to run as myself, with agent forwarding, to pull down my
# private dotfiles and set up.

- hosts: devbox
  gather_facts: false
  tasks:
    - name: Clone dotfiles
      shell: >
        hg clone -U {{dotfiles_repository | quote}} _dotfiles_
        && mv _dotfiles_/.hg .
        && rmdir _dotfiles_
        && hg -R ~ update -C
      args:
        chdir: "~"
        creates: "~/.hg"

    - name: Update dotfiles
      command: hg pull -u
      args:
        chdir: "~"
      register: update_dotfiles
      changed_when: update_dotfiles.stdout | match("added|updated")
      failed_when: update_dotfiles.rc > 1

    - name: Run bin/homedir-setup
    - shell: bin/homedir-setup
      args:
        chdir: "~"
      register: homedir_setup
      changed_when: homedir_setup.stdout | match("Updating|Cloning")
      failed_when: homedir_setup.rc != 0
