ansible-sway/tasks/main.yml

53 lines
1.4 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 "if sway --config %s --validate 2>&1 | grep -q sway/config.c; then >&2 echo \"Error validating sway configuration\"; exit 1; else 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