anchor.diff:        modules = moduleOpts;
   
         extraModules = mkOption {
  +        type = types.listOf types.str;
  +        default = [];
           description = "Enable custom modules";
  -        default = [];
         };
   
         virtualHosts = mkOption {
  
positive.code:       };
  
        enabled = mkOption {
          default = false;
          description = "Whether to enable the virtual host";
        };
  
        ssl = mkOption {
          description = "Paths to SSL files";
          default = null;
          options = [ sslOpts ];
        };
  
        extraConfig = mkOption {
          default = '''';
          description = "Additional virtual host specific configuration";
        };
  
  
negative.code:   moduleOpts = {
  
      roster = mkOption {
        type = types.bool;
        default = true;
        description = "Allow users to have a roster";
      };
  
      saslauth = mkOption {
        type = types.bool;
        default = true;
        description = "Authentication for clients and servers. Recommended if you want to log in.";
      };
  
      tls = mkOption {
        type = types.bool;
        default = true;
        description = "Add support for secure TLS on c2s/s2s connections";
      };
  
      dialback = mkOption {
        type = types.bool;
        default = true;
        description = "s2s dialback support";
      };
  
      disco = mkOption {
        type = types.bool;
        default = true;
        description = "Service discovery";
      };
  
      legacyauth = mkOption {
        type = types.bool;
        default = true;
        description = "Legacy authentication. Only used by some old clients and bots";
      };
  
      version = mkOption {
        type = types.bool;
        default = true;
        description = "Replies to server version requests";
      };
  
      uptime = mkOption {
        type = types.bool;
        default = true;
        description = "Report how long server has been running";
      };
  
      time = mkOption {
        type = types.bool;
        default = true;
        description = "Let others know the time here on this server";
      };
  
      ping = mkOption {
        type = types.bool;
        default = true;
        description = "Replies to XMPP pings with pongs";
      };
  
      console = mkOption {
        type = types.bool;
        default = false;
        description = "telnet to port 5582";
      };
  
      bosh = mkOption {
        type = types.bool;
        default = false;
        description = "Enable BOSH clients, aka 'Jabber over HTTP'";
      };
  
      httpserver = mkOption {
        type = types.bool;
        default = false;
        description = "Serve static files from a directory over HTTP";
      };
  
      websocket = mkOption {
        type = types.bool;
        default = false;
        description = "Enable WebSocket support";
      };
  