summary refs log tree commit diff
path: root/nixos/modules/services/networking/networkmanager.nix
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2017-06-02 19:05:22 +0800
committerPeter Hoeg <peter@hoeg.com>2017-06-02 19:21:46 +0800
commita087081ebb1f5b3943b2ebd94e14e6d1ef221428 (patch)
tree041ab5b7ed39e99ba80fb77d6a3a00381fa739f8 /nixos/modules/services/networking/networkmanager.nix
parent1fe17ee116a684a2a5ca1740465280158f8f26bb (diff)
downloadnixlib-a087081ebb1f5b3943b2ebd94e14e6d1ef221428.tar
nixlib-a087081ebb1f5b3943b2ebd94e14e6d1ef221428.tar.gz
nixlib-a087081ebb1f5b3943b2ebd94e14e6d1ef221428.tar.bz2
nixlib-a087081ebb1f5b3943b2ebd94e14e6d1ef221428.tar.lz
nixlib-a087081ebb1f5b3943b2ebd94e14e6d1ef221428.tar.xz
nixlib-a087081ebb1f5b3943b2ebd94e14e6d1ef221428.tar.zst
nixlib-a087081ebb1f5b3943b2ebd94e14e6d1ef221428.zip
network-manager: add support for internal DHCP
Diffstat (limited to 'nixos/modules/services/networking/networkmanager.nix')
-rw-r--r--nixos/modules/services/networking/networkmanager.nix21
1 files changed, 19 insertions, 2 deletions
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 876dbe1524e4..f8b7f26f5f2f 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -12,6 +12,7 @@ let
   configFile = writeText "NetworkManager.conf" ''
     [main]
     plugins=keyfile
+    dhcp=${cfg.dhcp}
     dns=${if cfg.useDnsmasq then "dnsmasq" else "default"}
 
     [keyfile]
@@ -21,7 +22,7 @@ let
       ''unmanaged-devices=${lib.concatStringsSep ";" cfg.unmanaged}''}
 
     [logging]
-    level=WARN
+    level=${cfg.logLevel}
 
     [connection]
     ipv6.ip6-privacy=2
@@ -138,6 +139,22 @@ in {
         apply = list: (attrValues cfg.basePackages) ++ list;
       };
 
+      dhcp = mkOption {
+        type = types.enum [ "dhclient" "dhcpcd" "internal" ];
+        default = "dhclient";
+        description = ''
+          Which program (or internal library) should be used for DHCP.
+        '';
+      };
+
+      logLevel = mkOption {
+        type = types.enum [ "OFF" "ERR" "WARN" "INFO" "DEBUG" "TRACE" ];
+        default = "WARN";
+        description = ''
+          Set the default logging verbosity level.
+        '';
+      };
+
       appendNameservers = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -181,7 +198,7 @@ in {
             };
 
             type = mkOption {
-              type = types.enum (attrNames dispatcherTypesSubdirMap); 
+              type = types.enum (attrNames dispatcherTypesSubdirMap);
               default = "basic";
               description = ''
                 Dispatcher hook type. Only basic hooks are currently available.