summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/networking/networkmanager.nix
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2017-10-14 14:40:22 +0800
committerPeter Hoeg <peter@hoeg.com>2017-10-14 14:42:48 +0800
commitff3fd1027c276d54215986cd7e82b3a2037df6f3 (patch)
treeff99d853e4a7e9829c476c2f3166580aecc55d0d /nixos/modules/services/networking/networkmanager.nix
parent5f6d2d15acc001b14bfcd8f14923c697aa90f968 (diff)
Revert "networkmanager: dns and extraConfig"
Diffstat (limited to 'nixos/modules/services/networking/networkmanager.nix')
-rw-r--r--nixos/modules/services/networking/networkmanager.nix47
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 = ''