From e85b162511c64207e8caa35d1a3c9b7989a8c3c3 Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Tue, 22 Feb 2022 22:34:54 +0100 Subject: [PATCH] [Networking] Add option to set dns backend, and use iwd as default wifi backend --- network.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/network.nix b/network.nix index b057894..bfc76af 100644 --- a/network.nix +++ b/network.nix @@ -18,6 +18,12 @@ in description = "Set network backend"; type = types.enum [ "systemd-networkd" "NetworkManager" "dhcpcd" ]; }; + dns = mkOption { + default = "systemd-resolved"; + example = "dnsmasq"; + description = "Set network DNS"; + type = types.enum [ "systemd-resolved" "dnsmasq" ]; + }; }; config = mkIf cfg.enable { @@ -25,7 +31,16 @@ in networking.networkmanager.enable = (cfg.backend == "NetworkManager"); networking.dhcpcd.enable = (cfg.backend == "dhcpcd"); -# networking.networkmanager.wifi.backend = mkDefault "iwd"; + + services.resolved.enable = (cfg.dns == "systemd-resolved"); + + networking.networkmanager = { + wifi.backend = mkDefault "iwd"; + dns = mkDefault cfg.dns; + packages = with pkgs; concatLists [ + (optional (cfg.dns == "dnsmasq") dnsmasq) + ]; + }; networking.wireless.enable = (cfg.backend != "NetworkManager"); # Must always be false