diff options
author | Peter Hoeg <peter@hoeg.com> | 2017-10-14 14:40:22 +0800 |
---|---|---|
committer | Peter Hoeg <peter@hoeg.com> | 2017-10-14 14:42:48 +0800 |
commit | ff3fd1027c276d54215986cd7e82b3a2037df6f3 (patch) | |
tree | ff99d853e4a7e9829c476c2f3166580aecc55d0d /nixos/modules/services/networking/networkmanager.nix | |
parent | 5f6d2d15acc001b14bfcd8f14923c697aa90f968 (diff) |
Revert "networkmanager: dns and extraConfig"
This reverts commit 0dd25e585fd89d352f834a25a7c9e1f478d66c5c.
Diffstat (limited to 'nixos/modules/services/networking/networkmanager.nix')
-rw-r--r-- | nixos/modules/services/networking/networkmanager.nix | 47 |
1 files changed, 17 insertions, 30 deletions
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index c58131d69190..e03309c87299 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -9,17 +9,17 @@ let # /var/lib/misc is for dnsmasq.leases. stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc"; - useDnsmasq = cfg.dns == "dnsmasq"; - useResolved = cfg.dns == "systemd-resolved"; - - rcman = if useResolved then "unmanaged" else "resolvconf"; + dns = + if cfg.useDnsmasq then "dnsmasq" + else if config.services.resolved.enable then "systemd-resolved" + else if config.services.unbound.enable then "unbound" + else "default"; configFile = writeText "NetworkManager.conf" '' [main] plugins=keyfile dhcp=${cfg.dhcp} - dns=${cfg.dns} - rc-manager=${rcman} + dns=${dns} [keyfile] ${optionalString (cfg.unmanaged != []) @@ -32,8 +32,6 @@ let ipv6.ip6-privacy=2 ethernet.cloned-mac-address=${cfg.ethernet.macAddress} wifi.cloned-mac-address=${cfg.wifi.macAddress} - - ${cfg.extraConfig} ''; /* @@ -146,17 +144,6 @@ in { apply = list: (attrValues cfg.basePackages) ++ list; }; - dns = mkOption { - type = types.enum [ "default" "dnsmasq" "systemd-resolved" ]; - default = "default"; - description = '' - Enable NetworkManager's integration with other DNS resolvers. NetworkManager can run - dnsmasq as a local caching nameserver or systemd-resolved, using a "split DNS" - configuration if you are connected to a VPN, and then update - resolv.conf to point to the local nameserver. - ''; - }; - dhcp = mkOption { type = types.enum [ "dhclient" "dhcpcd" "internal" ]; default = "dhclient"; @@ -194,6 +181,17 @@ in { ethernet.macAddress = macAddressOpt; wifi.macAddress = macAddressOpt; + useDnsmasq = mkOption { + type = types.bool; + default = false; + description = '' + Enable NetworkManager's dnsmasq integration. NetworkManager will run + dnsmasq as a local caching nameserver, using a "split DNS" + configuration if you are connected to a VPN, and then update + resolv.conf to point to the local nameserver. + ''; + }; + dispatcherScripts = mkOption { type = types.listOf (types.submodule { options = { @@ -218,12 +216,6 @@ in { A list of scripts which will be executed in response to network events. ''; }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - description = "Additional configuration added verbatim to the configuration file."; - }; }; }; @@ -297,15 +289,10 @@ in { group = "networkmanager"; }]; - services.resolved = lib.mkIf useResolved { - enable = true; - }; - systemd.packages = cfg.packages; systemd.services."network-manager" = { wantedBy = [ "network.target" ]; - wants = lib.mkIf useResolved [ "systemd-resolved.service" ]; restartTriggers = [ configFile ]; preStart = '' |