anchor.diff:        [log]
         file = ${cfg.logFile}
       '';
  -  configExtraFile = pkgs.writeText "couchdb-extra.ini" cfg.extraConfig;
   
  -in
  -{
  +in {
   
     ###### interface
   
  
positive.code: 
        preStart =
          ''
          mkdir -p `dirname ${cfg.pidFile}`;
          mkdir -p `dirname ${cfg.uriFile}`;
          mkdir -p `dirname ${cfg.logFile}`;
          touch ${cfg.logFile};
          mkdir -p ${cfg.databaseDir};
          mkdir -p ${cfg.viewIndexDir};
          chown ${cfg.user}:${cfg.group} `dirname ${cfg.pidFile}`
          chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}`
          chown ${cfg.user}:${cfg.group} ${cfg.logFile}
          chown ${cfg.user}:${cfg.group} ${cfg.databaseDir}
          chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir}
          '';
  
        serviceConfig = {
          PermissionsStartOnly = true;
          User = cfg.user;
          Group = cfg.group;
          Type = "forking";
          ExecStart = "${cfg.package}/bin/couchdb -b -o /dev/null -e /dev/null -p ${cfg.pidFile} -a ${configFile} -a ${configExtraFile}";
          ExecStop = "${cfg.package}/bin/couchdb -d";
        };
      };
  
  
negative.code: { config, pkgs, ... }:
    with pkgs.lib;
  
  let
    cfg = config.services.couchdb;
    configFile = pkgs.writeText "couchdb.ini"
      ''
  