diff --git a/ansible/node-compute.yml b/ansible/node-compute.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d924731de95db287f13cf59a7ffcf0146e590b5c
--- /dev/null
+++ b/ansible/node-compute.yml
@@ -0,0 +1,10 @@
+---
+- name: Run a play
+  ansible.builtin.import_playbook: node.yml
+  
+- name: Setup node for use as a virtual compute node
+  hosts: default
+  become: true
+  roles:
+    - { name: 'compute_packages', tags: 'compute_packages' }
+    - { name: 'pam_slurm_adopt', tags: 'pam_slurm_adopt' }
diff --git a/ansible/node-gpu.yml b/ansible/node-gpu.yml
index 005f0afc57f3a3a2a41cdf43f9d2b0cf5563d141..1da928e28e9bf5651040bb50709bfc2efd5fb494 100644
--- a/ansible/node-gpu.yml
+++ b/ansible/node-gpu.yml
@@ -1,6 +1,9 @@
 ---
-- name: Setup node for use as a cluster host with gpu packages
+- name: Run a play
+  ansible.builtin.import_playbook: node-compute.yml
+
+- name: Setup node for use as a cluster host with gpu drivers/pkgs
   hosts: default
   become: true
   roles:
-    - cheaha.node
+    - { name: 'nvidia_driver', tags: 'nvidia_driver' }
diff --git a/ansible/node.yml b/ansible/node.yml
index d97cf11812a110620309d45b7742bfa5581abc04..32c6206d9adb7714602f5c3b5e8226d8c5253c48 100644
--- a/ansible/node.yml
+++ b/ansible/node.yml
@@ -3,5 +3,5 @@
   hosts: default
   become: true
   roles:
-    - cheaha.node
-    - lmod_user
+    - { name: 'cheaha.node', tags: 'cheaha.node' }
+    - { name: 'lmod_user', tags: 'lmod_user' }