- name: Install zsh apt: name: - zsh - zsh-syntax-highlighting - fzf state: present - name: Create .config and .config/zsh directories file: path: "/home/{{ item.0 }}/{{ item.1 }}" state: directory owner: "{{ item.0 }}" group: "{{ item.0 }}" mode: "0755" loop: "{{ users | product(['.config', '.config/zsh']) | list }}" when: users is defined - name: Copy .zshenv copy: src: zsh/.zshenv dest: "/home/{{ item }}/.zshenv" owner: "{{ item }}" group: "{{ item }}" mode: "0644" loop: "{{ users }}" when: users is defined - name: Copy .zshrc copy: src: zsh/.zshrc dest: "/home/{{ item }}/.config/zsh/.zshrc" owner: "{{ item }}" group: "{{ item }}" mode: "0644" loop: "{{ users }}" when: users is defined - name: Copy .aliasrc copy: src: zsh/.aliasrc dest: "/home/{{ item }}/.config/zsh/.aliasrc" owner: "{{ item }}" group: "{{ item }}" mode: "0644" loop: "{{ users }}" when: users is defined - name: Set zsh as default shell user: name: "{{ item }}" shell: /bin/zsh loop: "{{ users }}" when: users is defined