{ config, lib, pkgs, ... }:

{
  # Set hostname, hostid and enable WiFi
  networking = {
    hostName = "panacea";
    hostId = "8feb0bb8";
    wireless.iwd.enable = true;
    enableIPv6 = false;
  };

  # Enable systemd-networkd
  networking = {
    useDHCP = false;
    interfaces = {
      enp0s31f6.useDHCP = true;
      wlan0.useDHCP = true;
    };
    useNetworkd = true;
    dhcpcd.enable = false;
  };
  systemd.services."systemd-networkd-wait-online".enable = false;

  # Prioritize ethernet over WiFi
  systemd.network.networks."40-enp0s31f6".dhcpV4Config.RouteMetric = 10;
  systemd.network.networks."40-wlan0".dhcpV4Config.RouteMetric = 20;

  # Static IP for home network
  systemd.network.networks."24-home" = {
    name = "wlan0";
    matchConfig = {
      Name = "wlan0";
      SSID = "WiFi-5.0-CE42";
    };
    address = [ "192.168.1.131/24" ];
    gateway = [ "192.168.1.1" ];
    dns = [ "192.168.1.2" ];
    networkConfig.DNSSEC = "no";
  };

  # Enable zeroconf
  services.avahi = {
    enable = true;
    nssmdns = true;
  };
}