anchor.diff:          };
         };
   
  +      udp = {
  +        port = mkOption {
  +          default = 2086;  # assigned by IANA
  +          description = ''
  +            The UDP port for use by GNUnet.
  +          '';
  +        };
  +      };
  +
  +      tcp = {
  +        port = mkOption {
  +          default = 2086;  # assigned by IANA
  +          description = ''
  +            The TCP port for use by GNUnet.
  +          '';
  +        };
  +      };
  +
         load = {
           maxNetDownBandwidth = mkOption {
             default = 50000;
  
positive.code:       GNUNETD_HOME = ${home}
  
        [GNUNETD]
        HOSTLISTURL = ${lib.concatStringsSep " " hostLists}
        APPLICATIONS = ${lib.concatStringsSep " " applications}
        TRANSPORTS = ${lib.concatStringsSep " " transports}
  
        [LOAD]
        MAXNETDOWNBPSTOTAL = ${toString load.maxNetDownBandwidth}
        MAXNETUPBPSTOTAL = ${toString load.maxNetUpBandwidth}
        HARDUPLIMIT = ${toString load.hardNetUpBandwidth}
        MAXCPULOAD = ${toString load.maxCPULoad}
        INTERFACES = ${lib.concatStringsSep " " load.interfaces}
  
        [FS]
        QUOTA = ${toString fileSharing.quota}
        ACTIVEMIGRATION = ${if fileSharing.activeMigration then "YES" else "NO"}
  
        [MODULES]
        sqstore = sqstore_sqlite
  
negative.code: 
          exec =
            ''
              ${pkgs.gnunet}/bin/gnunetd                  \
                ${if cfg.debug then "--debug" else "" }   \
                --user="gnunetd"                          \
                --config="${configFile}"                  \
                --log="${cfg.logLevel}"
            '';
        };
  