diff --git a/roles/neomutt/tasks/main.yml b/roles/neomutt/tasks/main.yml index 8969dfd..65f58fe 100644 --- a/roles/neomutt/tasks/main.yml +++ b/roles/neomutt/tasks/main.yml @@ -7,6 +7,7 @@ community.general.pacman: name: - neomutt + - isync - lynx - urlscan - mpv @@ -18,6 +19,7 @@ ansible.builtin.apt: name: - neomutt + - isync - lynx - urlscan - mpv @@ -57,7 +59,7 @@ - name: Copy account neomuttrc files ansible.builtin.template: src: account.neomuttrc.j2 - dest: ~/.config/neomutt/accounts/{{ item.fulladdress }}.neomuttrc + dest: "~/.config/neomutt/accounts/{{ item.fulladdress }}.neomuttrc" mode: 0644 vars: account: "{{ item }}" @@ -80,3 +82,22 @@ 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 + ansible.builtin.template: + src: mbsyncrc.j2 + dest: ~/.mbsyncrc + mode: 0644 diff --git a/roles/neomutt/templates/mbsyncrc.j2 b/roles/neomutt/templates/mbsyncrc.j2 new file mode 100644 index 0000000..dcf796b --- /dev/null +++ b/roles/neomutt/templates/mbsyncrc.j2 @@ -0,0 +1,32 @@ +{% for account in accounts %} +IMAPStore {{ account.fulladdress }}-remote +Host {{ account.imap.server }} +Port {{ account.imap.port }} +User {{ account.imap.login }} +PassCmd "pass {{ account.passlocation }}" +AuthMechs LOGIN +SSLType IMAPS +CertificateFile /etc/ssl/certs/ca-certificates.crt + +MaildirStore {{ account.fulladdress }}-local +Subfolders Verbatim +Path ~/.local/share/mail/{{ account.fulladdress }}/ +Inbox ~/.local/share/mail/{{ account.fulladdress }}/INBOX +Flatten . + +Channel {{ account.fulladdress }} +{% if ansible_facts['distribution'] == 'Debian' %} +Master :{{ account.fulladdress }}-remote: +Slave :{{ account.fulladdress }}-local: +{% else %} +Far :{{ account.fulladdress }}-remote: +Near :{{ account.fulladdress }}-local: +{% endif %} +Patterns * +Expunge Both +Create Both +SyncState * +MaxMessages 0 +ExpireUnread no + +{% endfor %}