Layout refactor

Also included provisioning for htpc host
This commit is contained in:
Sonny Bakker 2025-10-12 15:33:37 +02:00
parent f90702c7b8
commit 970f7489fb
103 changed files with 782 additions and 893 deletions

27
tasks/network/desktop.yml Normal file
View file

@ -0,0 +1,27 @@
- name: Desktop configuration
notify:
- restart systemd-networkd
- restart systemd-resolved
block:
- name: Setup network configuration
become: true
ansible.builtin.template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: root
group: systemd-network
mode: '0640'
loop:
- src: 'templates/desktop/network/enp1s0.link.j2'
dest: '/etc/systemd/network/20-enp1s0.link'
- src: 'templates/desktop//network/enp1s0.network.j2'
dest: '/etc/systemd/network/20-enp1s0.network'
- name: Remove leftover configuration files
become: true
ansible.builtin.file:
path: '{{ item }}'
state: absent
loop:
- '/etc/systemd/network/30-vmbr0.network'
- '/etc/systemd/network/30-vmbr0.netdev'

0
tasks/network/htpc.yml Normal file
View file

28
tasks/network/main.yml Normal file
View file

@ -0,0 +1,28 @@
# Note that Wireguard does DNS resolution only once during connection.
# When a client's IP changes, the server should be notified in some way,
# using `wg set wg0 peer izHzmRwh2yzICps6pFI2Bg3TnmTD66/8uH4loJpkuD4= endpoint <NEW-IP>:<PORT>`
# for example.
- name: Set hostname
become: true
ansible.builtin.hostname:
name: '{{ hostname }}'
use: systemd
- name: Copy hosts file
become: true
ansible.builtin.template:
src: templates/hosts.j2
dest: /etc/hosts
mode: '0644'
owner: root
- name: Copy firewall template
become: true
ansible.builtin.template:
src: 'templates/{{ ansible_hostname }}/nftables.j2'
dest: /etc/nftables.conf
owner: root
group: root
mode: '0600'
notify: restart nftables

47
tasks/network/xps.yml Normal file
View file

@ -0,0 +1,47 @@
- name: Setup network configuration
become: true
ansible.builtin.template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: root
group: systemd-network
mode: '0640'
loop:
- src: 'templates/xps/network/wlan0-local.network.j2'
dest: '/etc/systemd/network/10-wireless.network'
- src: 'templates/xps/network/wlan0-frans.network.j2'
dest: '/etc/systemd/network/11-wireless.network'
- src: 'templates/xps/network/wlan0.network.j2'
dest: '/etc/systemd/network/20-wireless.network'
notify:
- restart systemd-networkd
- restart systemd-resolved
- name: Create iwd directory
become: true
ansible.builtin.template:
src: templates/xps/iwd.j2
dest: /etc/iwd
mode: '0644'
owner: root
- name: Provision iwd configuration
become: true
ansible.builtin.template:
src: templates/xps/iwd.j2
dest: /etc/iwd/main.config
mode: '0755'
owner: root
notify: restart iwd
- name: Remove leftover configuration files
become: true
ansible.builtin.file:
path: '{{ item }}'
state: absent
loop:
- /etc/systemd/network/30-vmbr0.network
- /etc/systemd/network/30-vmbr0.netdev
- /etc/systemd/network/10-wlan0.link