ansible-mako/tasks/main.yml

68 lines
2 KiB
YAML

---
- name: Install Mako package
ansible.builtin.package:
name: '{{ mako_package[ansible_distribution] | default("mako")}}'
state: present
become: true
- name: Create Mako config dirs
ansible.builtin.file:
path: '{{ ansible_user_dir ~ "/.config/mako" }}'
state: directory
mode: 0750
owner: '{{ ansible_user_uid }}'
group: '{{ ansible_user_gid }}'
- name: Render templates for Mako config file
ansible.builtin.template:
src: mako.j2
dest: '{{ ansible_user_dir}}/.config/mako/config'
owner: '{{ ansible_user_uid }}'
group: '{{ ansible_user_gid }}'
lstrip_blocks: yes
trim_blocks: yes
mode: 0640
register: config_file
- name: Copy Mako systemd service file
ansible.builtin.copy:
src: 'mako.service'
dest: '{{ ansible_user_dir }}/.config/systemd/user/'
mode: 0640
register: service_file
- block:
- name: Reload Systemd daemon
ansible.builtin.systemd:
scope: user
daemon-reload: true
- name: Activate Mako service
ansible.builtin.systemd:
name: 'mako.service'
scope: user
state: started
enabled: true
when: service_file is change and not ansible_check_mode
- name: Restart Mako service
ansible.builtin.systemd:
name: mako.service
state: restarted
scope: user
when: config_file is changed and not service_file is changed
- name: Render Mako keybinding for sway config file
ansible.builtin.template:
src: '{{ item }}.config.j2'
dest: '{{ ansible_user_dir ~ "/.config/sway/conf.d/" ~ item ~ ".config" }}'
owner: '{{ ansible_user_uid }}'
group: '{{ ansible_user_gid }}'
lstrip_blocks: true
trim_blocks: true
mode: 0640
validate: >-
sh -c "cat {{ansible_user_dir}}/.config/sway/conf.d/* %s > /tmp/sway; if sway --config /tmp/sway --validate 2>&1 | grep -q sway/config.c; then >&2 echo \"Error validating sway configuration\"; rm /tmp/sway; exit 1; else rm /tmp/sway; exit 0; fi"
loop:
- 51-mako_keybindings
any_errors_fatal: true