anchor.diff:        };
   
         enabled = mkOption {
  +        type = types.bool;
           default = false;
           description = "Whether to enable the virtual host";
         };
   
         ssl = mkOption {
  +        type = types.nullOr (types.submodule sslOpts);
  +        default = null;
           description = "Paths to SSL files";
  -        default = null;
  -        options = [ sslOpts ];
         };
   
         extraConfig = mkOption {
  -        default = '''';
  +        type = types.lines;
  +        default = "";
           description = "Additional virtual host specific configuration";
         };
   
  
positive.code: 
        # TODO: require attribute
        key = mkOption {
          type = types.str;
          description = "Path to the key file";
        };
  
        # TODO: require attribute
        cert = mkOption {
          type = types.str;
          description = "Path to the certificate file";
        };
      };
  
negative.code:       };
  
        ssl = mkOption {
          type = types.nullOr (types.submodule sslOpts);
          default = null;
          description = "Paths to SSL files";
        };
  
        admins = mkOption {
          type = types.listOf types.str;
          default = [];
          example = [ "admin1@example.com" "admin2@example.com" ];
          description = "List of administrators of the current host";
        };
  
        extraConfig = mkOption {
          type = types.lines;
          default = "";
          description = "Additional prosody configuration";
        };
  
  