61 lines
1.6 KiB
YAML
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
|