anchor.diff:  , pulseaudioSupport ? stdenv.isLinux, libpulseaudio
   , ffmpegSupport ? true
   , gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
  -, waylandSupport ? true, libxkbcommon, pipewire
  +, waylandSupport ? true, libxkbcommon
   , gssSupport ? true, kerberos
  +, pipewireSupport ? waylandSupport && webrtcSupport, pipewire
   
   ## privacy-related options
   
  
positive.code: 
    postPatch = ''
      rm -rf obj-x86_64-pc-linux-gnu
  
      # needed for enabling webrtc+pipewire
      substituteInPlace \
        media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build \
        --replace /usr/include ${pipewire.dev}/include
  
negative.code:   ++ lib.optional  pulseaudioSupport libpulseaudio # only headers are needed
    ++ lib.optional  gtk3Support gtk3
    ++ lib.optional  gssSupport kerberos
    ++ lib.optionals waylandSupport [ libxkbcommon ]
    ++ lib.optionals pipewireSupport [ pipewire ]
    ++ lib.optionals stdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
                                       AVFoundation MediaToolbox CoreLocation
                                       Foundation libobjc AddressBook cups ];
  