{ 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"; # nixpkgs 26.05 moved resolved.conf options into the RFC42-style `settings` # attrset (extraConfig dropped; domains/fallbackDns renamed). settings.Resolve = { Domains = lib.mkDefault [ "~." ]; FallbackDNS = lib.mkDefault [ "9.9.9.9" "149.112.112.112" ]; DNSOverTLS = lib.mkDefault "opportunistic"; }; }; environment.systemPackages = [ pkgs.networkmanagerapplet ]; }