mirror of
https://github.com/roles-ansible/ansible_role_i3wm.git
synced 2024-08-16 10:09:53 +02:00
65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
---
|
|
- name: register variables
|
|
import_tasks: variables.yml
|
|
|
|
# ensure i3 packages are installed [Debian].
|
|
- include_tasks: setup-Debian.yml
|
|
when: ansible_os_family == 'Debian'
|
|
|
|
# ensure i3 packages are installed [Archlinux}
|
|
- include_tasks: setup-Archlinux.yml
|
|
when: ansible_os_family == 'Archlinux'
|
|
|
|
# ensure i3 packages are installed [RHEL].
|
|
- include_tasks: setup-RedHat.yml
|
|
when: ansible_os_family == 'Fedora' or ansible_os_family == 'RedHat'
|
|
|
|
# create i3 config file
|
|
- name: Creates directory
|
|
file:
|
|
path: '/home/{{ i3wm_user }}/.config'
|
|
state: directory
|
|
mode: 0750
|
|
owner: "{{ i3wm_user }}"
|
|
|
|
- name: create i3 config folder
|
|
file:
|
|
path: '/home/{{ i3wm_user }}/.config/i3/'
|
|
state: directory
|
|
mode: 0755
|
|
owner: "{{ i3wm_user }}"
|
|
|
|
- name: register i3 config file
|
|
action: stat path="~/.config/i3/config"
|
|
register: "config_file"
|
|
- name: backup i3 config file
|
|
block:
|
|
|
|
- name: backup i3 config file if exists
|
|
copy:
|
|
src: ~/.config/i3/config
|
|
dest: ~/.config/i3/config.bak
|
|
remote_src: true
|
|
when: config_file.stat.exists
|
|
|
|
- name: create i3 config file
|
|
template:
|
|
src: config.j2
|
|
dest: "/home/{{ i3wm_user }}/.config/i3/config"
|
|
|
|
- name: check i3 config file
|
|
command: i3 -C
|
|
register: check_config_response
|
|
failed_when: check_config_response.stdout.find('ERROR') != -1
|
|
rescue:
|
|
|
|
- name: register backup i3 config file
|
|
action: stat path="~/.config/i3/config.bak"
|
|
register: "config_file_backup"
|
|
|
|
- name: restore backup file
|
|
copy:
|
|
src: ~/.config/i3/config.bak
|
|
dest: ~/.config/i3/config
|
|
remote_src: true
|
|
when: config_file_backup.stat.exists
|