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