---
- name: Install zsh
  hosts: localhost
  connection: local
  become: false
  vars:
    uid: "{{ lookup('env','USER') }}"
  tasks:
    - name: Have zsh installed allready
      stat:
        path: /home/{{ uid }}/.oh-my-zsh
      register: ohmyzsh
    - name: Set zsh as default shell
      become: true
      ansible.builtin.command:
        cmd: chsh -s /usr/bin/zsh {{ uid }}
      when: not ohmyzsh.stat.exists
    - name: Get Oh my zsh
      ansible.builtin.command:
        chdir: /tmp
        cmd: wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
        creates: /tmp/install.sh
      when: not ohmyzsh.stat.exists
    - name: Install Oh my zsh
      ansible.builtin.command:
        cmd: bash /tmp/install.sh
        creates: /home/{{ uid }}/.oh-my-zsh
      when: not ohmyzsh.stat.exists
    - name: Remove Oh my zsh install script
      ansible.builtin.command:
        cmd: rm /tmp/install.sh
        removes: /tmp/install.sh
      when: not ohmyzsh.stat.exists
    - name: Install zshrc
      ansible.builtin.template:
        src: ../templates/zshrc.j2
        dest: /home/{{ uid }}/.zshrc
        owner: '{{ uid }}'
        group: '{{ uid }}'
        mode: '0644'
