anchor.diff:        extraFlags = mkOption {
           type = types.listOf types.str;
           description = "Extra flags passed to the IPFS daemon";
  -        default = [];
  +        default = [ ];
         };
   
         localDiscovery = mkOption {
  
positive.code:         ipfs --offline config Mounts.IPFS ${cfg.ipfsMountDir}
          ipfs --offline config Mounts.IPNS ${cfg.ipnsMountDir}
        '' + concatStringsSep "\n" (collect
              isString
              (mapAttrsRecursive
                (path: value:
                # Using heredoc below so that the value is never improperly quoted
                ''
                  read value <<EOF
                  ${builtins.toJSON value}
                  EOF
                  ipfs --offline config --json "${concatStringsSep "." path}" "$value"
                '')
                ({ Addresses.API = cfg.apiAddress;
                   Addresses.Gateway = cfg.gatewayAddress;
                   Addresses.Swarm = cfg.swarmAddress;
                } //
                cfg.extraConfig))
            );
        serviceConfig = {
          ExecStart = ["" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}"];
          User = cfg.user;
          Group = cfg.group;
        } // optionalAttrs (cfg.serviceFdlimit != null) { LimitNOFILE = cfg.serviceFdlimit; };
  
negative.code:     systemd.sockets.ipfs-gateway = {
        wantedBy = [ "sockets.target" ];
        socketConfig = {
          ListenStream =
            let
              fromCfg = multiaddrToListenStream cfg.gatewayAddress;
            in
            [ "" ] ++ lib.optional (fromCfg != null) fromCfg;
          ListenDatagram =
            let
              fromCfg = multiaddrToListenDatagram cfg.gatewayAddress;
            in
            [ "" ] ++ lib.optional (fromCfg != null) fromCfg;
        };
      };
  
  