anchor.diff:        hkpAddress = mkOption {
           default = [ "127.0.0.1" "::1" ];
           type = types.listOf types.str;
  -        description = "
  -          Wich ip addresses the sks-keyserver is listening on.
  -        ";
  +        description = ''
  +          Domain names, IPv4 and/or IPv6 addresses to listen on for HKP
  +          requests.
  +        '';
         };
   
         hkpPort = mkOption {
           default = 11371;
  -        type = types.int;
  -        description = "
  -          Which port the sks-keyserver is listening on.
  -        ";
  +        type = types.ints.u16;
  +        description = "HKP port to listen on.";
         };
       };
     };
  
positive.code: with lib;
  
  let
  
    cfg = config.services.sks;
  
    sksPkg = cfg.package;
  
  in
  
  {
  
    options = {
  
      services.sks = {
  
        enable = mkEnableOption "sks";
  
        package = mkOption {
          default = pkgs.sks;
          defaultText = "pkgs.sks";
          type = types.package;
          description = "
            Which sks derivation to use.
          ";
        };
  
        dataDir = mkOption {
  
negative.code:       home = config.users.users.sks.home;
        user = config.users.users.sks.name;
      in {
        "sks-db" = {
          description = "SKS database server";
          after = [ "network.target" ];
          wantedBy = [ "multi-user.target" ];
          preStart = ''
            mkdir -p ${home}/dump
            ${sksPkg}/bin/sks build ${home}/dump/*.gpg -n 10 -cache 100 || true #*/
            ${sksPkg}/bin/sks cleandb || true
            ${sksPkg}/bin/sks pbuild -cache 20 -ptree_cache 70 || true
          '';
          serviceConfig = {
            WorkingDirectory = home;
            User = user;
            Restart = "always";
            ExecStart = "${sksPkg}/bin/sks db -hkp_address ${hkpAddress} -hkp_port ${hkpPort}";
          };
        };
      };
  