---
# temporary disable network manager
# in future network manager will be used for wifi sticks
- name: Use iwd but ignore interfaces managed by systemd-networkd (wlan0,en*)
  blockinfile:
    dest: /etc/NetworkManager/NetworkManager.conf
    block: |
      [device]
      match-device=interface-name:wlx*
      wifi.backend=iwd
      [connection]
      match-device=interface-name:wlx*
      ipv4.route-metric=2048
      [keyfile]
      unmanaged-devices=interface-name:wlan0;interface-name:en*;interface-name:vm*

- name: Enable Networkmanager
  ansible.builtin.systemd:
    name: NetworkManager.service
    state: started
    enabled: true

- name: install firmware for wifi-sticks
  apt:
    name:
      - firmware-realtek
    state: latest
    autoremove: true

- name: Configure systemd-networkd virbr1.netdev
  ansible.builtin.copy:
    dest: /etc/systemd/network/30-virbr1.netdev
    content: |
       [NetDev]
       Name=virbr1
       Kind=bridge

- name: Configure systemd-networkd ethernet.network
  ansible.builtin.copy:
    dest: /etc/systemd/network/40-ethernet.network
    content: |
       [Match]
       Name=en*
       [Network]
       Bridge=virbr1

- name: Configure systemd-networkd virbr1.network
  ansible.builtin.copy:
    dest: /etc/systemd/network/50-virbr1.network
    content: |
       [Match]
       Name=virbr1
       [Network]
       DHCP=yes
       [DHCPv4]
       UseDomains=true
       RouteMetric=512

- name: Configure systemd-networkd wlan.network
  ansible.builtin.copy:
    dest: /etc/systemd/network/60-wlan0-dhcp.network
    content: |
       [Match]
       Name=wlan0
       [Network]
       DHCP=yes
       [DHCPv4]
       UseDomains=true