--- - name: install zsh packages apt: name: zsh state: present - name: install zsh-config copy: src: "{{ item.src }}" dest: "{{ item.dest }}" with_items: - src: "zshrc" dest: "/etc/zsh/zshrc" - src: "zshrc.skel" dest: "/etc/skel/.zshrc" loop_control: label: "{{ item.dest }}" - name: set zsh as default shell user: name: "{{ item }}" shell: /bin/zsh with_items: "{{ [ 'root' ] | union(zsh_loginshell_user | default([])) }}" - name: make zsh the default shell for useradd lineinfile: regexp: '^#?SHELL=' line: 'SHELL=/bin/zsh' path: /etc/default/useradd - name: make zsh the default shell for adduser lineinfile: regexp: '^#?DSHELL=' line: 'DSHELL=/bin/zsh' path: /etc/adduser.conf - name: install shell banner when: zsh_banner is defined block: - name: install banner script template: src: "banner.{{ zsh_banner }}.j2" dest: /etc/banner.sh mode: 0755 - name: enable banner for zsh login lineinfile: path: /etc/zsh/zlogin line: /etc/banner.sh insertbefore: "^## END OF FILE #"