92 lines
2.1 KiB
YAML
Executable File
92 lines
2.1 KiB
YAML
Executable File
---
|
|
- name: Create groups
|
|
group:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop: "{{ init_groups }}"
|
|
|
|
- name: Ensure Users are Configured Correctly
|
|
user:
|
|
name: "{{ item.value.name }}"
|
|
group: "{{ item.value.group }}"
|
|
groups: "{{ item.value.groups }}"
|
|
state: "{{ item.value.state }}"
|
|
create_home: "{{ item.value.create_home }}"
|
|
shell: "{{ item.value.shell }}"
|
|
loop: "{{ init_users | dict2items }}"
|
|
|
|
- name: Create or ensure presence of custom home directories
|
|
file:
|
|
path: /home/opal/{{ item }}
|
|
state: directory
|
|
mode: '0755'
|
|
owner: opal
|
|
group: opal
|
|
loop: "{{ create_directories }}"
|
|
|
|
- name: Create or ensure presence of custom files
|
|
file:
|
|
path: /home/opal/{{ item }}
|
|
state: touch
|
|
mode: '0644'
|
|
owner: opal
|
|
group: opal
|
|
loop: "{{ create_files }}"
|
|
|
|
- name: Remove default home directories if present
|
|
file:
|
|
path: /home/opal/{{ item }}
|
|
state: absent
|
|
loop: "{{ remove_directories }}"
|
|
|
|
# SSH Initial Setup
|
|
- name: Create/Ensure ~/.ssh directories
|
|
file:
|
|
path: "/home/{{ item.value.name }}/.ssh"
|
|
state: directory
|
|
mode: 0700
|
|
owner: "{{ item.value.name }}"
|
|
group: "{{ item.value.group }}"
|
|
loop: "{{ init_users | dict2items }}"
|
|
|
|
- name: Install galaxy collections
|
|
community.general.ansible_galaxy_install:
|
|
type: collection
|
|
name: "{{ item }}"
|
|
loop: "{{ ansible_galaxy_collections }}"
|
|
|
|
- name: Mask wpa_supplicant service
|
|
systemd:
|
|
name: wpa_supplicant
|
|
enabled: no
|
|
masked: yes
|
|
state: stopped
|
|
|
|
- name: Ensure NetworkManager is enabled at boot
|
|
systemd:
|
|
name: NetworkManager
|
|
enabled: yes
|
|
|
|
- name: Configure NetworkManager to manage all interfaces
|
|
template:
|
|
src: templates/NetworkManager.conf.j2
|
|
dest: /etc/NetworkManager/NetworkManager.conf
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
notify: Restart NetworkManager
|
|
|
|
- name: Install iwd
|
|
apt:
|
|
name: iwd
|
|
state: present
|
|
update_cache: yes
|
|
|
|
- name: Configure NetworkManager to use iwd
|
|
copy:
|
|
dest: /etc/NetworkManager/conf.d/wifi_backend.conf
|
|
content: |
|
|
[device]
|
|
wifi.backend=iwd
|
|
notify: Restart NetworkManager
|