From a3df7eeb27ac228e571ec5e23a30dbb901b3eed7 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Fri, 21 Feb 2025 12:43:14 +0100 Subject: [PATCH] feat(user): Set up user management for void --- play.yaml | 3 +++ void_user.yaml | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 void_user.yaml diff --git a/play.yaml b/play.yaml index afcb1ad..79b6cfc 100644 --- a/play.yaml +++ b/play.yaml @@ -15,6 +15,9 @@ - name: Import chroot guest tasks ansible.builtin.import_playbook: guest.yaml +- name: Import chroot user management tasks + ansible.builtin.import_playbook: void_user.yaml + # - I chose to use booster instead of dracut # - easiest way to achieve this is before installing `base-system` # to `echo 'ignorepkg=dracut' >> /etc/xbps.d/ignore-dracut.conf` diff --git a/void_user.yaml b/void_user.yaml new file mode 100644 index 0000000..4c67bd5 --- /dev/null +++ b/void_user.yaml @@ -0,0 +1,32 @@ +- name: Set up primary user + hosts: guest + become: true + vars: + user_name: marty + user_pass: marty + user_shell: zsh + user_groups: + - wheel + - _seatd # TODO: This will error if it does not exist (seatd not installed) + - audio + - dialout + - disk + - input + - kvm + - lp + - plugdev + - scanner + - storage + - usbmon + - video + + tasks: + - name: Add user + ansible.builtin.user: + name: "{{ user_name }}" + password: "{{ user_pass | password_hash('sha512', 'supersecretsalt') }}" + create_home: true + shell: "/bin/{{ user_shell }}" + group: "{{ user_name }}" + groups: "{{ user_groups }}" + generate_ssh_key: true