anchor.diff:        description = ''
           Enable this option if you plan on using the webfinger plugin.
           The appropriate nginx rewrite rules will be added to your configuration.
  -      '';
  -    };
  -
  -    phpPackages = mkOption {
  -      type = types.attrs;
  -      default = pkgs.php73Packages;
  -      defaultText = "pkgs.php73Packages";
  -      description = ''
  -        Overridable attribute of the PHP packages set to use.  If any caching
  -        module is enabled, it will be taken from here.  Therefore it should
  -        match the version of PHP given to
  -        <literal>services.phpfpm.phpPackage</literal>.
         '';
       };
   
  
positive.code: 
  let
    cfg = config.services.nextcloud;
  
    toKeyValue = generators.toKeyValue {
      mkKeyValue = generators.mkKeyValueDefault {} " = ";
    };
  
    phpOptionsExtensions = ''
      ${optionalString cfg.caching.apcu "extension=${cfg.phpPackages.apcu}/lib/php/extensions/apcu.so"}
      ${optionalString cfg.caching.redis "extension=${cfg.phpPackages.redis}/lib/php/extensions/redis.so"}
      ${optionalString cfg.caching.memcached "extension=${cfg.phpPackages.memcached}/lib/php/extensions/memcached.so"}
      extension=${cfg.phpPackages.imagick}/lib/php/extensions/imagick.so
      zend_extension = opcache.so
      opcache.enable = 1
    '';
  
negative.code:                 phpOptions)));
          in {
            phpOptions = phpOptionsExtensions;
            phpPackage = phpPackage;
            listen = "/run/phpfpm/nextcloud";
            extraConfig = ''
              listen.owner = nginx
  