{ config, lib, pkgs, ... }: let inherit (lib) mkDefault mkMerge optionalString; in { config = mkMerge [ { networking.dhcpcd = { enable = config.networking.wireless.iwd.enable; extraConfig = '' ${optionalString config.services.resolved.enable "nohook resolv.conf"} ''; }; networking.hostName = "${config.machine.hostName}"; networking.resolvconf.enable = !config.services.resolved.enable; networking.useDHCP = mkDefault true; networking.wireless.iwd = { settings = { General = { EnableNetworkConfiguration = !config.services.resolved.enable; }; Network = { EnableIPv6 = true; NameResolvingService = "systemd"; }; }; }; } ]; }