{ lib, config, ... }: { options.dns = { enable = lib.mkOption { type = lib.types.bool; default = true; description = "enable dns"; }; }; config = lib.mkIf config.dns.enable { networking.networkmanager = { enable = true; dns = "systemd-resolved"; }; services.resolved = { enable = true; fallbackDns = [ "1.1.1.1" "1.0.0.1" ]; domains = [ "~." ]; extraConfig = '' [Resolve] DNS=192.168.27.13:53 1.1.1.1 1.0.0.1 ResolveUnicastSingleLabel=yes ''; }; }; }