anchor.diff:  , avahi, boost, libopus, libsndfile, protobuf, speex, libcap
   , alsaLib, python3
   , rnnoise
  -, jackSupport ? false, libjack2 ? null
  -, speechdSupport ? false, speechd ? null
  -, pulseSupport ? false, libpulseaudio ? null
  -, iceSupport ? false, zeroc-ice ? null
  -, grpcSupport ? false, grpc ? null, c-ares ? null, abseil-cpp ? null, which ? null
  +, jackSupport ? false, libjack2
  +, speechdSupport ? false, speechd
  +, pulseSupport ? false, libpulseaudio
  +, iceSupport ? false, zeroc-ice
  +, grpcSupport ? false, grpc, c-ares, abseil-cpp, which
   , nixosTests
   }:
   
  -assert jackSupport -> libjack2 != null;
  -assert speechdSupport -> speechd != null;
  -assert pulseSupport -> libpulseaudio != null;
  -assert iceSupport -> zeroc-ice != null;
  -assert grpcSupport -> (grpc != null && c-ares != null && abseil-cpp != null && which != null);
  -
  -with lib;
   let
     generic = overrides: source: qt5.mkDerivation (source // overrides // {
       pname = overrides.type;
  
positive.code:   server = source: generic {
      type = "murmur";
  
      postPatch = optional iceSupport ''
        grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc-ice.dev}/share/ice/,g'
      '';
  
      configureFlags = [
        "CONFIG+=no-client"
      ] ++ optional (!iceSupport) "CONFIG+=no-ice"
        ++ optional grpcSupport "CONFIG+=grpc";
  
      buildInputs = [ libcap ]
        ++ optional iceSupport zeroc-ice
        ++ optionals grpcSupport [ grpc c-ares abseil-cpp which ];
  
      installPhase = ''
        # bin stuff
  
negative.code: 
      nativeBuildInputs = [ qt5.qttools ];
      buildInputs = [ libopus libsndfile speex qt5.qtsvg rnnoise ]
        ++ lib.optional stdenv.isLinux alsaLib
        ++ lib.optional jackSupport libjack2
        ++ lib.optional speechdSupport speechd
        ++ lib.optional pulseSupport libpulseaudio;
  
      configureFlags = [
        "CONFIG+=no-server"
      ];
  
      NIX_CFLAGS_COMPILE = lib.optional speechdSupport "-I${speechd}/include/speech-dispatcher";
  
      installPhase = ''
        # bin stuff
  