Wed, 14 Jun 2017 22:07:16 -0400
rig to pull public dotfiles
--- # Create/update my user, don't clobber my extra groups. - name: User setup user: name: "{{user.name}}" comment: "{{user.comment}}" shell: /bin/zsh groups: sudo append: true register: user tags: user - name: "ssh : Pubkey for user" authorized_key: manage_dir: true user: "{{user.name}}" key: "{{item}}" with_file: - public_keys/{{user.name}} tags: user, ssh - name: Clone dotfiles become: "{{user.name}}" shell: > hg clone -U {{dotfiles_default | quote}} _dotfiles_ && mv _dotfiles_/.hg . && rmdir _dotfiles_ && hg -R ~ update -C master args: chdir: "~" creates: "~/.hg" - name: Assert hg sources become: "{{user.name}}" ini_file: dest: "~/.hg/hgrc" section: paths option: "{{item.name}}" value: "{{item.url}}" mode: 0640 create: no with_items: - {name: 'default', url: "{{dotfiles_default}}"} - {name: 'default-push', url: "{{dotfiles_default_push}}"} - name: Update dotfiles become: "{{user.name}}" 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 become: "{{user.name}}" shell: bin/homedir-setup args: chdir: "~" register: homedir_setup changed_when: homedir_setup.stdout | match("Updating|Cloning") failed_when: homedir_setup.rc != 0