diff --git a/README.md b/README.md index eb96661..93da3ab 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,10 @@ This is a base idempotent provisioning with sensible defaults that can be slight hipchat HipChat repo and package + + i3 + i3wm + i3-gaps i3wm on steroids diff --git a/playbook.yml b/playbook.yml index 028179b..b3ce0ef 100644 --- a/playbook.yml +++ b/playbook.yml @@ -90,6 +90,10 @@ roles: [i3-utils-bin] tags: i3-utils-bin +- hosts: all + roles: [i3] + tags: i3 + - hosts: all roles: [i3-gaps] tags: i3-gaps diff --git a/roles/i3/defaults/main.yml b/roles/i3/defaults/main.yml new file mode 100644 index 0000000..80715e3 --- /dev/null +++ b/roles/i3/defaults/main.yml @@ -0,0 +1,4 @@ +--- + +# 'install', 'remove' or 'ignore' +i3: 'ignore' diff --git a/roles/i3/tasks/install.yml b/roles/i3/tasks/install.yml new file mode 100644 index 0000000..327638c --- /dev/null +++ b/roles/i3/tasks/install.yml @@ -0,0 +1,7 @@ +--- + +- name: ensure i3-wm is installed + include_role: + name: apt-meta + vars: + apt_packages: "{{ [i3_package_name] + i3_shared_packages }}" diff --git a/roles/i3/tasks/main.yml b/roles/i3/tasks/main.yml new file mode 100644 index 0000000..d384515 --- /dev/null +++ b/roles/i3/tasks/main.yml @@ -0,0 +1,7 @@ +--- + +- include_tasks: install.yml + when: i3 == 'install' + +- include_tasks: uninstall.yml + when: i3 == 'remove' diff --git a/roles/i3/tasks/uninstall.yml b/roles/i3/tasks/uninstall.yml new file mode 100644 index 0000000..15aa42c --- /dev/null +++ b/roles/i3/tasks/uninstall.yml @@ -0,0 +1,8 @@ +--- + +- name: ensure i3-wm is removed + include_role: + name: apt-meta + vars: + apt_state: absent + apt_packages: "{{ i3_package_name }}" diff --git a/roles/i3/vars/main.yml b/roles/i3/vars/main.yml new file mode 100644 index 0000000..d2e050a --- /dev/null +++ b/roles/i3/vars/main.yml @@ -0,0 +1,9 @@ +--- + +i3_package_name: i3-wm + +i3_shared_packages: + - i3blocks + - i3lock + - i3status + - suckless-tools