anchor.diff:            would have to be created explicitly.
           '';
   
  -      type = types.attrsOf types.optionSet;
  -
  -      options = {
  -
  -        device = mkOption {
  -          type = types.string;
  -          example = "wlp6s0";
  -          description = "The name of the underlying hardware WLAN device as assigned by <literal>udev</literal>.";
  -        };
  -
  -        type = mkOption {
  -          type = types.string;
  -          default = "managed";
  -          example = "ibss";
  -          description = ''
  -            The type of the WLAN interface. The type has to be either <literal>managed</literal>,
  -            <literal>ibss</literal>, <literal>monitor</literal>, <literal>mesh</literal> or <literal>wds</literal>.
  -            Also, the type has to be supported by the underlying hardware of the device.
  -          '';
  -        };
  -
  -        meshID = mkOption {
  -          type = types.nullOr types.string;
  -          default = null;
  -          description = "MeshID of interface with type <literal>mesh</literal>.";
  -        };
  -
  -        flags = mkOption {
  -          type = types.nullOr types.string;
  -          default = null;
  -          example = "control";
  -          description = ''
  -            Flags for interface of type <literal>monitor</literal>. The valid flags are:
  -            none:     no special flags
  -            fcsfail:  show frames with FCS errors
  -            control:  show control frames
  -            otherbss: show frames from other BSSes
  -            cook:     use cooked mode
  -            active:   use active mode (ACK incoming unicast packets)
  -          '';
  -        };
  -
  -        fourAddr = mkOption {
  -          type = types.nullOr types.bool;
  -          default = null;
  -          description = "Whether to enable <literal>4-address mode</literal> with type <literal>managed</literal>.";
  -        };
  -
  -        mac = mkOption {
  -          type = types.nullOr types.str;
  -          default = null;
  -          example = "02:00:00:00:00:01";
  -          description = ''
  -            MAC address to use for the device. If <literal>null</literal>, then the MAC of the
  -            underlying hardware WLAN device is used.
  -
  -            INFO: Locally administered MAC addresses are of the form:
  -            <itemizedlist>
  -            <listitem><para>x2:xx:xx:xx:xx:xx</para></listitem>
  -            <listitem><para>x6:xx:xx:xx:xx:xx</para></listitem>
  -            <listitem><para>xA:xx:xx:xx:xx:xx</para></listitem>
  -            <listitem><para>xE:xx:xx:xx:xx:xx</para></listitem>
  -            </itemizedlist>
  -          '';
  -        };
  -
  -      };
  +      type = with types; attrsOf (submodule {
  +
  +        options = {
  +
  +          device = mkOption {
  +            type = types.string;
  +            example = "wlp6s0";
  +            description = "The name of the underlying hardware WLAN device as assigned by <literal>udev</literal>.";
  +          };
  +
  +          type = mkOption {
  +            type = types.string;
  +            default = "managed";
  +            example = "ibss";
  +            description = ''
  +              The type of the WLAN interface. The type has to be either <literal>managed</literal>,
  +              <literal>ibss</literal>, <literal>monitor</literal>, <literal>mesh</literal> or <literal>wds</literal>.
  +              Also, the type has to be supported by the underlying hardware of the device.
  +            '';
  +          };
  +
  +          meshID = mkOption {
  +            type = types.nullOr types.string;
  +            default = null;
  +            description = "MeshID of interface with type <literal>mesh</literal>.";
  +          };
  +
  +          flags = mkOption {
  +            type = types.nullOr types.string;
  +            default = null;
  +            example = "control";
  +            description = ''
  +              Flags for interface of type <literal>monitor</literal>. The valid flags are:
  +              none:     no special flags
  +              fcsfail:  show frames with FCS errors
  +              control:  show control frames
  +              otherbss: show frames from other BSSes
  +              cook:     use cooked mode
  +              active:   use active mode (ACK incoming unicast packets)
  +            '';
  +          };
  +
  +          fourAddr = mkOption {
  +            type = types.nullOr types.bool;
  +            default = null;
  +            description = "Whether to enable <literal>4-address mode</literal> with type <literal>managed</literal>.";
  +          };
  +
  +          mac = mkOption {
  +            type = types.nullOr types.str;
  +            default = null;
  +            example = "02:00:00:00:00:01";
  +            description = ''
  +              MAC address to use for the device. If <literal>null</literal>, then the MAC of the
  +              underlying hardware WLAN device is used.
  +
  +              INFO: Locally administered MAC addresses are of the form:
  +              <itemizedlist>
  +              <listitem><para>x2:xx:xx:xx:xx:xx</para></listitem>
  +              <listitem><para>x6:xx:xx:xx:xx:xx</para></listitem>
  +              <listitem><para>xA:xx:xx:xx:xx:xx</para></listitem>
  +              <listitem><para>xE:xx:xx:xx:xx:xx</para></listitem>
  +              </itemizedlist>
  +            '';
  +          };
  +
  +        };
  +
  +      });
  +
       };
   
       networking.useDHCP = mkOption {
  
positive.code:           bridge's network interface.
          '';
  
        type = types.attrsOf types.optionSet;
  
        options = {
  
          interfaces = mkOption {
            example = [ "eth0" "eth1" ];
            type = types.listOf types.str;
            description =
              "The physical network interfaces connected by the bridge.";
          };
  
          rstp = mkOption {
            example = true;
            default = false;
            type = types.bool;
            description = "Whether the bridge interface should enable rstp.";
          };
  
        };
  
      };
  
  
negative.code:           specifying the name of the vlan interface.
          '';
  
        type = with types; attrsOf (submodule {
  
          options = {
  
            id = mkOption {
              example = 1;
              type = types.int;
              description = "The vlan identifier";
            };
  
            interface = mkOption {
              example = "enp4s0";
              type = types.str;
              description = "The interface the vlan will transmit packets through.";
            };
  
          };
  
        });
  
      };
  
      networking.wlanInterfaces = mkOption {
  