diff --git a/bin/dotfiles b/bin/dotfiles
index 48784312..b2d47041 100755
--- a/bin/dotfiles
+++ b/bin/dotfiles
@@ -23,4 +23,4 @@ run_playbook() {
 
 clone_or_update_dotfiles
 install_dependencies
-run_playbook
+run_playbook "${@}"
diff --git a/main.yaml b/main.yaml
index afd2e358..46544910 100644
--- a/main.yaml
+++ b/main.yaml
@@ -2,13 +2,22 @@
 - hosts: localhost
   tasks:
     - name: Set roles
-      set_fact:
+      ansible.builtin.set_fact:
         roles: "{{ default_roles | difference(exclude_roles | default([])) }}"
+      tags:
+        - always
 
     - name: Display roles
-      debug: "var=roles"
+      ansible.builtin.debug: "var=roles"
+      tags:
+        - always
 
     - name: Run roles
-      include_role:
+      ansible.builtin.include_role:
         name: "{{ item }}"
+        apply:
+          tags:
+            - "{{ item }}"
       with_items: "{{ roles }}"
+      tags:
+        - always