anchor.diff:          default = false;
           description = ''
             Whether to run the Quassel IRC client daemon.
  +        '';
  +      };
  +
  +      certificateFile = mkOption {
  +        type = types.nullOr types.str;
  +        default = null;
  +        description = ''
  +          Path to the certificate used for SSL connections with clients.
  +        '';
  +      };
  +
  +      requireSSL = mkOption {
  +        type = types.bool;
  +        default = false;
  +        description = ''
  +          Require SSL for connections from clients.
           '';
         };
   
  
positive.code: 
          serviceConfig =
          {
            ExecStart = "${quassel}/bin/quasselcore --listen=${concatStringsSep '','' cfg.interfaces} --port=${toString cfg.portNumber} --configdir=${cfg.dataDir}";
            User = user;
            PermissionsStartOnly = true;
          };
  
negative.code:   ###### implementation
  
    config = mkIf cfg.enable {
      assertions = [
        { assertion = cfg.requireSSL -> cfg.certificateFile != null;
          message = "Quassel needs a certificate file in order to require SSL";
        }];
  
      users.users = mkIf (cfg.user == null) [
        { name = "quassel";
  