From 5dd160727a038078e1da6b8c47917005919b4b35 Mon Sep 17 00:00:00 2001
From: Marty Oehme <contact@martyoeh.me>
Date: Fri, 7 Mar 2025 21:37:30 +0100
Subject: [PATCH] fix(roles): Default to root as user name

Always default to 'root' as a user_name if no variable has been set.
This can easily happen as not every role sets the variable and instead
we only set it once in the user role.

Another way to possibly go about it in the future would be to inject the
'user_name' into each role that needs it as one of that role's default
variables. If it is specified by the user somewhere it _should_
override those defaults, though I have to read up on the exact variable
precedence.
---
 roles/base/tasks/main.yaml     | 2 +-
 roles/gnupg/tasks/main.yaml    | 2 +-
 roles/pipewire/tasks/main.yaml | 2 +-
 roles/power/tasks/main.yaml    | 2 +-
 roles/user/tasks/main.yaml     | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/roles/base/tasks/main.yaml b/roles/base/tasks/main.yaml
index b51f445..28f99d0 100644
--- a/roles/base/tasks/main.yaml
+++ b/roles/base/tasks/main.yaml
@@ -138,6 +138,6 @@
 
     - name: Put user in socklog group
       ansible.builtin.user:
-        name: "{{ user_name }}"
+        name: "{{ user_name | default('root') }}"
         groups: [socklog]
         append: true
diff --git a/roles/gnupg/tasks/main.yaml b/roles/gnupg/tasks/main.yaml
index 98b5a2b..e1bec46 100644
--- a/roles/gnupg/tasks/main.yaml
+++ b/roles/gnupg/tasks/main.yaml
@@ -14,6 +14,6 @@
 
 - name: Put user in plugdev group
   ansible.builtin.user:
-    name: "{{ user_name }}"
+    name: "{{ user_name | default('root') }}"
     groups: [plugdev]
     append: true
diff --git a/roles/pipewire/tasks/main.yaml b/roles/pipewire/tasks/main.yaml
index b2ce769..e60fe20 100644
--- a/roles/pipewire/tasks/main.yaml
+++ b/roles/pipewire/tasks/main.yaml
@@ -6,7 +6,7 @@
 
 - name: Put user in audio group
   ansible.builtin.user:
-    name: "{{ user_name }}"
+    name: "{{ user_name | default('root') }}"
     groups: "{{ audio_groups }}"
     append: true
 
diff --git a/roles/power/tasks/main.yaml b/roles/power/tasks/main.yaml
index d55f4a5..b6f1c15 100644
--- a/roles/power/tasks/main.yaml
+++ b/roles/power/tasks/main.yaml
@@ -6,7 +6,7 @@
 
 - name: Put user in power group
   ansible.builtin.user:
-    name: "{{ user_name }}"
+    name: "{{ user_name | default('root') }}"
     groups: [power]
     append: true
 
diff --git a/roles/user/tasks/main.yaml b/roles/user/tasks/main.yaml
index bcba9bb..3f8e48e 100644
--- a/roles/user/tasks/main.yaml
+++ b/roles/user/tasks/main.yaml
@@ -16,11 +16,11 @@
 
 - name: Add primary user
   ansible.builtin.user:
-    name: "{{ user_name }}"
+    name: "{{ user_name | default('root') }}"
     password: "{{ user_pass | password_hash('sha512', '{{ user_pass_salt}}') }}"
     create_home: true
     shell: "/bin/{{ user_shell }}"
-    group: "{{ user_name }}"
+    group: "{{ user_name | default('root') }}"
     groups: "{{ user_groups }}"
     generate_ssh_key: true
   tags: