diff --git a/roles/neomutt/tasks/main.yml b/roles/neomutt/tasks/main.yml index 06ccc9f..9b95b04 100644 --- a/roles/neomutt/tasks/main.yml +++ b/roles/neomutt/tasks/main.yml @@ -30,34 +30,34 @@ when: ansible_facts['distribution'] == 'Debian' - name: Get installed neomutt version - # fixme: when Debian gets ansible v.2.11, we can just use split + # FIXME: when Debian gets ansible v.2.11, we can just use split ansible.builtin.set_fact: neomutt_version: "{{ lookup('pipe', 'neomutt -v') | regex_search('NeoMutt 20\\d{6}') | split | last }}" when: ansible_facts['distribution'] != 'Debian' - name: Set neomutt_version to 0 for Debian (change me later) - # fixme: when Debian gets ansible v.2.11, we can just use split + # FIXME: when Debian gets ansible v.2.11, we can just use split ansible.builtin.set_fact: neomutt_version: 0 when: ansible_facts['distribution'] == 'Debian' -- name: Create neomutt config directory +- name: Create directories ansible.builtin.file: - path: ~/.config/neomutt + path: "{{ item }}" state: directory mode: 0755 + with_items: + - ~/.config/neomutt + - ~/.config/neomutt/accounts + - ~/.cache/neomutt + - ~/.local/share/mail -- name: Copy main neomuttrc - ansible.builtin.template: - src: neomuttrc.j2 - dest: ~/.config/neomutt/neomuttrc - mode: 0644 - -- name: Create account directories +- name: Create maildir directories ansible.builtin.file: - path: ~/.config/neomutt/accounts + path: "~/.local/share/mail/{{ item.fulladdress }}" state: directory mode: 0755 + with_items: "{{ accounts }}" - name: Copy account neomuttrc files ansible.builtin.template: @@ -68,42 +68,23 @@ account: "{{ item }}" with_items: "{{ accounts }}" -- name: Create neomutt cache directory - ansible.builtin.file: - path: ~/.cache/neomutt - state: directory - mode: 0755 - -- name: Copy mailcap file - ansible.builtin.copy: - src: mailcap - dest: ~/.config/neomutt/mailcap - mode: 0644 - -- name: Copy openfile script - ansible.builtin.copy: - src: openfile - dest: ~/.local/bin/openfile - mode: 0755 - -- name: Create maildir base directory - ansible.builtin.file: - path: ~/.local/share/mail - state: directory - mode: 0755 - -- name: Create maildir directories - ansible.builtin.file: - path: "~/.local/share/mail/{{ item.fulladdress }}" - state: directory - mode: 0755 - with_items: "{{ accounts }}" - -- name: Copy isync config file +- name: Template files ansible.builtin.template: - src: mbsyncrc.j2 - dest: ~/.mbsyncrc - mode: 0644 + src: "{{ item.src }}" + dest: "{{ item.dest }}" + mode: "{{ item.mode }}" + with_items: + - {'src': 'neomuttrc.j2', 'dest': '~/.config/neomutt/neomuttrc', 'mode': '0644'} + - {'src': 'mbsyncrc.j2', 'dest': '~/.mbsyncrc', 'mode': '0644'} + +- name: Copy files + ansible.builtin.copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + mode: "{{ item.mode }}" + with_items: + - {'src': 'mailcap', 'dest': '~/.config/neomutt/mailcap', 'mode': '0644'} + - {'src': 'openfile', 'dest': '~/.local/bin/openfile', 'mode': '0755'} - name: Copy mbsync service and timer ansible.builtin.copy: