From 9531d6ca47e55a048197fddecb77c1e66bae3165 Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.uk>
Date: Sun, 17 Apr 2022 17:01:58 +0100
Subject: [PATCH] feat(config): exclude_roles option

---
 group_vars/all | 25 +++++++++++++++++++++++++
 main.yaml      | 39 ++++++++++++---------------------------
 2 files changed, 37 insertions(+), 27 deletions(-)
 create mode 100644 group_vars/all

diff --git a/group_vars/all b/group_vars/all
new file mode 100644
index 00000000..832f0822
--- /dev/null
+++ b/group_vars/all
@@ -0,0 +1,25 @@
+default_roles:
+  - alacritty
+  - ctop
+  - dconf
+  - docker
+  - fzf
+  - github-cli
+  - gnome-tweak-tools
+  - git
+  - htop
+  - jq
+  - neovim
+  - neovim-lsp
+  - notion-app
+  - npm
+  - platformsh-cli
+  - pv
+  - ripgrep
+  - starship-prompt
+  - stylua
+  - tldr
+  - tree
+  - tmux
+  - zsh
+  - zsh-antigen
diff --git a/main.yaml b/main.yaml
index 601201af..afd2e358 100644
--- a/main.yaml
+++ b/main.yaml
@@ -1,29 +1,14 @@
 ---
 - hosts: localhost
-  roles:
-    - role: alacritty
-      tags:
-        - "skip-if-wsl"
-    - role: ctop
-    - role: dconf
-    - role: docker
-    - role: fzf
-    - role: github-cli
-    - role: gnome-tweak-tools
-    - role: git
-    - role: htop
-    - role: jq
-    - role: neovim
-    - role: neovim-lsp
-    - role: notion-app
-    - role: npm
-    - role: platformsh-cli
-    - role: pv
-    - role: ripgrep
-    - role: starship-prompt
-    - role: stylua
-    - role: tldr
-    - role: tree
-    - role: tmux
-    - role: zsh
-    - role: zsh-antigen
+  tasks:
+    - name: Set roles
+      set_fact:
+        roles: "{{ default_roles | difference(exclude_roles | default([])) }}"
+
+    - name: Display roles
+      debug: "var=roles"
+
+    - name: Run roles
+      include_role:
+        name: "{{ item }}"
+      with_items: "{{ roles }}"