anchor.diff:          source = clientConf;
         };
   
  -      hardware.pulseaudio.configFile = mkDefault "${getBin cfg.package}/etc/pulse/default.pa";
  +      hardware.pulseaudio.configFile = mkDefault "${getBin overriddenPackage}/etc/pulse/default.pa";
       }
   
       (mkIf cfg.enable {
  -      environment.systemPackages = [ cfg.package ];
  +      environment.systemPackages = [ overriddenPackage ];
   
         environment.etc = singleton {
           target = "asound.conf";
  
positive.code:   # are built with PulseAudio support (like KDE).
    clientConf = writeText "client.conf" ''
      autospawn=${if nonSystemWide then "yes" else "no"}
      ${optionalString nonSystemWide "daemon-binary=${cfg.package.out}/bin/pulseaudio"}
      ${cfg.extraClientConf}
    '';
  
  
negative.code:           '';
          };
        };
  
        zeroconf = {
          discovery.enable =
            mkEnableOption "discovery of pulseaudio sinks in the local network";
          publish.enable =
            mkEnableOption "publishing the pulseaudio sink in the local network";
        };
  
        # TODO: enable by default?
        tcp = {
          enable = mkEnableOption "tcp streaming support";
  
          anonymousClients = {
            allowAll = mkEnableOption "all anonymous clients to stream to the server";
            allowedIpRanges = mkOption {
              type = types.listOf types.str;
              default = [];
              example = literalExample ''[ "127.0.0.1" "192.168.1.0/24" ]'';
              description = ''
                A list of IP subnets that are allowed to stream to the server.
              '';
            };
          };
        };
  
      };
  
    };
  