anchor.diff:        };
       };
   
  +    networking.sits = mkOption {
  +      type = types.attrsOf types.optionSet;
  +      default = { };
  +      example = {
  +        hurricane = {
  +          remote = "10.0.0.1";
  +          local = "10.0.0.22";
  +          ttl = 255;
  +        };
  +        msipv6 = {
  +          remote = "192.168.0.1";
  +          dev = "enp3s0";
  +          ttl = 127;
  +        };
  +      };
  +      description = ''
  +        This option allows you to define 6-to-4 interfaces which should be automatically created.
  +      '';
  +      options = {
  +
  +        remote = mkOption {
  +          type = types.nullOr types.str;
  +          default = null;
  +          example = "10.0.0.1";
  +          description = ''
  +            The address of the remote endpoint to forward traffic over.
  +          '';
  +        };
  +
  +        local = mkOption {
  +          type = types.nullOr types.str;
  +          default = null;
  +          example = "10.0.0.22";
  +          description = ''
  +            The address of the local endpoint which the remote
  +            side should send packets to.
  +          '';
  +        };
  +
  +        ttl = mkOption {
  +          type = types.nullOr types.int;
  +          default = null;
  +          example = 255;
  +          description = ''
  +            The time-to-live of the connection to the remote tunnel endpoint.
  +          '';
  +        };
  +
  +        dev = mkOption {
  +          type = types.nullOr types.str;
  +          default = null;
  +          example = "enp4s0f0";
  +          description = ''
  +            The underlying network device on which the tunnel resides.
  +          '';
  +        };
  +
  +      };
  +    };
  +
       networking.vlans = mkOption {
         default = { };
         example = {
  
positive.code:     boot.kernelModules = [ ]
        ++ optional cfg.enableIPv6 "ipv6"
        ++ optional hasVirtuals "tun"
        ++ optional hasBonds "bonding";
  
      boot.extraModprobeConfig =
  
negative.code:            map createTunDevice (filter (i: i.virtual) interfaces))
           // mapAttrs createBridgeDevice cfg.bridges
           // mapAttrs createBondDevice cfg.bonds
           // mapAttrs createSitDevice cfg.sits
           // mapAttrs createVlanDevice cfg.vlans
           // { "network-setup" = networkSetup; };
  
  