From 5dd062efce31bd00a5ed3a6f734859d433dccd9a Mon Sep 17 00:00:00 2001 From: winston Date: Tue, 28 Feb 2023 04:56:52 +0100 Subject: [PATCH] fix: network config for nix-darwin --- machines/network.nix | 97 ++++++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 45 deletions(-) diff --git a/machines/network.nix b/machines/network.nix index 76c5621..ff475f8 100644 --- a/machines/network.nix +++ b/machines/network.nix @@ -5,52 +5,59 @@ }: let inherit (pkgs.stdenv.hostPlatform) isLinux; in { - services = { - dnsmasq = + services = + { + dnsmasq = + if isLinux + then { + enable = true; + servers = [ + "::1#53000" + "127.0.0.1#53000" + ]; + extraConfig = '' + # stubby + no-resolv + proxy-dnssec + listen-address=::1,127.0.0.1 + + # loopback for development + address=/test/127.0.0.1 + ''; + } + # nix-darwin config + else { + enable = true; + addresses."test" = "127.0.0.1"; + bind = "127.0.0.1"; + }; + } + // ( if isLinux then { - enable = true; - servers = [ - "::1#53000" - "127.0.0.1#53000" - ]; - extraConfig = '' - # stubby - no-resolv - proxy-dnssec - listen-address=::1,127.0.0.1 - - # loopback for development - address=/test/127.0.0.1 - ''; + mullvad-vpn = { + enable = true; + }; + stubby = { + enable = true; + settings = { + resolution_type = "GETDNS_RESOLUTION_STUB"; + listen_addresses = ["127.0.0.1@53000" "0::1@53000"]; + upstream_recursive_servers = [ + { + address_data = "194.242.2.3"; + tls_port = 853; + tls_auth_name = "adblock.doh.mullvad.net"; + } + { + address_data = "2a07:e340::3"; + tls_port = 853; + tls_auth_name = "adblock.doh.mullvad.net"; + } + ]; + }; + }; } - # nix-darwin config - else { - enable = true; - addresses."test" = "127.0.0.1"; - bind = "127.0.0.1"; - }; - - stubby = lib.mkIf isLinux { - enable = true; - settings = { - resolution_type = "GETDNS_RESOLUTION_STUB"; - listen_addresses = ["127.0.0.1@53000" "0::1@53000"]; - upstream_recursive_servers = [ - { - address_data = "194.242.2.3"; - tls_port = 853; - tls_auth_name = "adblock.doh.mullvad.net"; - } - { - address_data = "2a07:e340::3"; - tls_port = 853; - tls_auth_name = "adblock.doh.mullvad.net"; - } - ]; - }; - }; - - mullvad-vpn.enable = isLinux; - }; + else {} + ); }