setup-cockpit/roles/neomutt/tasks/main.yml

103 lines
2.5 KiB
YAML

---
- name: Include vault variables
ansible.builtin.include_vars: vault.yml
- name: Install packages (Archlinux)
become: true
community.general.pacman:
name:
- neomutt
- isync
- lynx
- urlscan
- mpv
- perl-file-mimeinfo
when: ansible_facts['distribution'] == 'Archlinux'
- name: Install packages (Debian)
become: true
ansible.builtin.apt:
name:
- neomutt
- isync
- lynx
- urlscan
- mpv
- libfile-mimeinfo-perl
when: ansible_facts['distribution'] == 'Debian'
- name: Get installed neomutt version
# 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
ansible.builtin.set_fact:
neomutt_version: 0
when: ansible_facts['distribution'] == 'Debian'
- name: Create neomutt config directory
ansible.builtin.file:
path: ~/.config/neomutt
state: directory
mode: 0755
- name: Copy main neomuttrc
ansible.builtin.template:
src: neomuttrc.j2
dest: ~/.config/neomutt/neomuttrc
mode: 0644
- name: Create account directories
ansible.builtin.file:
path: ~/.config/neomutt/accounts
state: directory
mode: 0755
- name: Copy account neomuttrc files
ansible.builtin.template:
src: account.neomuttrc.j2
dest: "~/.config/neomutt/accounts/{{ item.fulladdress }}.neomuttrc"
mode: 0644
vars:
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
ansible.builtin.template:
src: mbsyncrc.j2
dest: ~/.mbsyncrc
mode: 0644