{ config, pkgs, lib, ... }: let cfg = config.nomarchy.system; in { networking.networkmanager.enable = lib.mkDefault true; networking.networkmanager.wifi.powersave = lib.mkDefault cfg.wifi.powersave; # DNS Configuration networking.nameservers = lib.mkDefault ( if cfg.dns == "Cloudflare" then [ "1.1.1.1" "1.0.0.1" ] else if cfg.dns == "Google" then [ "8.8.8.8" "8.8.4.4" ] else if cfg.dns == "Custom" then cfg.customDns else [] # DHCP lets NM handle it ); services.resolved = { enable = lib.mkDefault (cfg.dns != "DHCP"); dnssec = lib.mkDefault "allow-downgrade"; domains = lib.mkDefault [ "~." ]; fallbackDns = lib.mkDefault [ "9.9.9.9" "149.112.112.112" ]; extraConfig = lib.mkDefault '' DNSOverTLS=opportunistic ''; }; environment.systemPackages = [ pkgs.networkmanagerapplet ]; }