- name: "Update ~root from ~phd" hosts: "{{ hosts | default('all') }}" become: yes gather_facts: false tasks: - name: "Update ~root - sync directories from ~phd" ansible.posix.synchronize: src: "~phd/{{ item }}" dest: ~root archive: no # avoid setting owner/group recursive: yes links: yes times: yes delegate_to: "{{ inventory_hostname }}" loop: ['.vim', 'bin', 'lib'] - name: "Update ~root - sync files from ~phd" copy: src: "~phd/{{ item }}" remote_src: yes dest: ~root owner: root group: root mode: "0600" loop: ['.bashrc', 'admin/home/root/.profile', '.bash_logout', '.inputrc', '.less', '.lesskey', '.screenrc', '.shellrc', '.tmux.conf', '.vimrc', ] - name: "Create ~root/admin/prog/" file: path: ~root/admin/prog state: directory owner: root group: root mode: "0600" - name: "Update ~root/admin/prog/bash_prompt" copy: src: ~phd/admin/prog/bash_prompt remote_src: yes dest: ~root/admin/prog/bash_prompt owner: root group: root mode: "0600" - name: "Update root mc - overwrite files from ~phd/admin" become: true copy: src: "~phd/admin/home/root/.mc/{{ item }}" remote_src: yes dest: ~root/.mc owner: root group: root mode: "0600" force: no loop: ['hotlist', 'ini', 'panels.ini']