anchor.diff:            };
           '';
         };
  -
  -      streamBuffer = mkOption {
  -        type = with types; nullOr int;
  -        default = null;
  -        description = ''
  -          Stream read (input) buffer in ms.
  -        '';
  -        example = 20;
  -      };
  -
  -      buffer = mkOption {
  -        type = with types; nullOr int;
  -        default = null;
  -        description = ''
  -          Network buffer in ms.
  -        '';
  -        example = 1000;
  -      };
  -
  -      sendToMuted = mkOption {
  -        type = types.bool;
  -        default = false;
  -        description = ''
  -          Send audio to muted clients.
  -        '';
  -      };
       };
  -
     };
   
   
  
positive.code:     let
        os = val:
          optionalString (val != null) "${val}";
        os' = prefixx: val:
          optionalString (val != null) (prefixx + "${val}");
        flatten = key: value:
          "&${key}=${value}";
      in
        "-s ${opt.type}://" + os opt.location + "?" + os' "name=" name
          + concatStrings (mapAttrsToList flatten opt.query);
  
    optionalNull = val: ret:
      optional (val != null) ret;
  
    optionString = concatStringsSep " " (mapAttrsToList streamToOption cfg.streams
               ++ ["-p ${toString cfg.port}"]
               ++ ["--controlPort ${toString cfg.controlPort}"]
               ++ optionalNull cfg.sampleFormat "--sampleFormat ${cfg.sampleFormat}"
               ++ optionalNull cfg.codec "-c ${cfg.codec}"
               ++ optionalNull cfg.streamBuffer "--streamBuffer ${cfg.streamBuffer}"
               ++ optionalNull cfg.buffer "-b ${cfg.buffer}"
               ++ optional cfg.sendToMuted "--sendToMuted");
  
  in {
  
    ###### interface
  
  
negative.code:       };
      };
  
      networking.firewall.allowedTCPPorts =
        optionals cfg.openFirewall [ cfg.port ]
        ++ optional cfg.tcp.enable cfg.tcp.port
        ++ optional cfg.http.enable cfg.http.port;
    };
  
    meta = {
  