ansible-sway/tasks/main.yml
Yorick Barbanneau f283ca1b48 rework Sway validation
It's not perfect but it work
2022-11-30 09:51:02 +01:00

61 lines
1.6 KiB
YAML

---
- name: Install needed Packages
ansible.builtin.package:
name: '{{ item }}'
state: present
loop: '{{ sway_packages }}'
become: true
- name: Copy systemd Sway target
ansible.builtin.copy:
src: 'sway-session.target'
dest: '{{ ansible_user_dir }}/.config/systemd/user/'
mode: 0640
- name: Create Sway config dirs
ansible.builtin.file:
path: '{{ ansible_user_dir ~ "/.config/sway/conf.d" }}'
state: directory
mode: 0750
owner: '{{ ansible_user_uid }}'
group: '{{ ansible_user_gid }}'
- name: Copy base config file
ansible.builtin.copy:
src: 'config'
dest: '{{ ansible_user_dir }}/.config/sway/'
mode: 0640
- name: Render templates for sway config files
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:
- 00-variables
- 10-input
- 20-output
- 30-theme
- 40-workspaces
- 50-keybindings
any_errors_fatal: true
- name: Copy default startup Sway conf file
ansible.builtin.copy:
src: '90-startup.config'
dest: '{{ ansible_user_dir }}/.config/sway/conf.d/'
mode: 0640