Explicitly create user

This commit is contained in:
2024-04-14 02:37:01 +02:00
parent 05b41da541
commit 9d5f34011f
2 changed files with 25 additions and 33 deletions

View File

@@ -5,7 +5,6 @@ i3bar_icon_padding: ""
users: users:
- name: hannes-work - name: hannes-work
group: hannes-work
vt: 1 vt: 1
firefox_profiles: firefox_profiles:
default: default:
@@ -31,7 +30,6 @@ users:
repositories: [] repositories: []
- name: hannes-private - name: hannes-private
group: hannes-private
vt: 2 vt: 2
firefox_profiles: firefox_profiles:
default: default:

View File

@@ -1,18 +1,3 @@
- name: configure sudoers
lineinfile:
path: /etc/sudoers
line: "{{ user.name }} ALL=(ALL) NOPASSWD:ALL"
regexp: "^{{ user.name }}\\s+"
become: true
become_user: root
- name: set shell
user:
name: "{{ user.name }}"
shell: /usr/bin/zsh
become: true
become_user: root
- set_fact: - set_fact:
user_groups: user_groups:
- libvirt - libvirt
@@ -25,21 +10,30 @@
- kvm - kvm
tags: [always] tags: [always]
- set_fact:
user_group_name: "{{ user.group|default(user.name) }}"
tags: [always]
- name: create user group - name: create user group
group: group:
name: "{{ user_group_name }}" name: "{{ user.name }}"
state: present state: present
become: true become: true
become_user: root become_user: root
- name: set groups - name: create user
user: user:
name: "{{ user.name }}" name: "{{ user.name }}"
groups: "{{ [user_group_name, 'dotfiles'] + user_groups }}" state: present
home: "/home/{{ user.name }}"
create_home: true
groups: "{{ [user.name, 'dotfiles'] + user_groups }}"
shell: /usr/bin/zsh
become: true
become_user: root
- name: configure sudoers
lineinfile:
path: /etc/sudoers
line: "{{ user.name }} ALL=(ALL) NOPASSWD:ALL"
regexp: "^{{ user.name }}\\s+"
become: true become: true
become_user: root become_user: root
@@ -48,7 +42,7 @@
state: directory state: directory
path: "{{ item }}" path: "{{ item }}"
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
loop: loop:
- "/home/{{ user.name }}/.config/" - "/home/{{ user.name }}/.config/"
- "/home/{{ user.name }}/.config/systemd/" - "/home/{{ user.name }}/.config/systemd/"
@@ -140,7 +134,7 @@
force: true force: true
follow: false follow: false
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
path: "/home/{{ user.name }}/.dotfiles" path: "/home/{{ user.name }}/.dotfiles"
src: "{{ playbook_dir }}" src: "{{ playbook_dir }}"
become: true become: true
@@ -173,7 +167,7 @@
state: directory state: directory
path: "{{ (['/home', user.name, item.to]|join('/')) | dirname }}" path: "{{ (['/home', user.name, item.to]|join('/')) | dirname }}"
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
with_items: "{{ dotfiles }}" with_items: "{{ dotfiles }}"
become: true become: true
become_user: root become_user: root
@@ -188,7 +182,7 @@
path: "/home/{{ user.name }}/{{ item.to }}" path: "/home/{{ user.name }}/{{ item.to }}"
src: /var/lib/dotfiles/{{ item.from }} src: /var/lib/dotfiles/{{ item.from }}
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
when: not item.template|default(false) when: not item.template|default(false)
with_items: "{{ dotfiles }}" with_items: "{{ dotfiles }}"
become: true become: true
@@ -223,7 +217,7 @@
src: /var/lib/dotfiles/{{ item.from }}.j2 src: /var/lib/dotfiles/{{ item.from }}.j2
dest: "/home/{{ user.name }}/{{ item.to }}" dest: "/home/{{ user.name }}/{{ item.to }}"
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
force: true force: true
become: true become: true
become_user: root become_user: root
@@ -267,7 +261,7 @@
path: "/home/{{ user.name }}/bin" path: "/home/{{ user.name }}/bin"
src: /var/lib/dotfiles/bin src: /var/lib/dotfiles/bin
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
tags: tags:
- dotfiles - dotfiles
@@ -288,7 +282,7 @@
src: contrib/vim-plug/plug.vim src: contrib/vim-plug/plug.vim
dest: ~/.local/share/nvim/site/autoload/plug.vim dest: ~/.local/share/nvim/site/autoload/plug.vim
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
mode: "0644" mode: "0644"
- name: install vim plugins - name: install vim plugins
@@ -415,7 +409,7 @@
path: "/home/{{ user.name }}/.config/systemd/user/{{ item | basename }}" path: "/home/{{ user.name }}/.config/systemd/user/{{ item | basename }}"
src: "{{ item }}" src: "{{ item }}"
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
with_fileglob: /var/lib/dotfiles/autostart/services/* with_fileglob: /var/lib/dotfiles/autostart/services/*
- name: get state of autostart.target - name: get state of autostart.target
@@ -436,7 +430,7 @@
src: ./autostart/autostart.target.j2 src: ./autostart/autostart.target.j2
dest: "/home/{{ user.name }}/.config/systemd/user/autostart.target" dest: "/home/{{ user.name }}/.config/systemd/user/autostart.target"
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user_group_name }}" group: "{{ user.name }}"
force: true force: true
follow: false follow: false