anchor.diff:  { lib, stdenv, fetchurl, fetchpatch
   , autoPatchelfHook, makeWrapper
   , hexdump, exfat, dosfstools, e2fsprogs, xz, util-linux, bash, parted
  +, withGtk3 ? true, gtk3
  +, withQt5 ? false, qt5
   }:
   
   let arch = {
  
positive.code:                     --prefix PATH : "${lib.makeBinPath buildInputs}" \
                      --run "cd '$VENTOY_PATH' || exit 1"
      done
    '';
  
    meta = with lib; {
  
negative.code:   aarch64-linux = "aarch64";
    mipsel-linux = "mips64el";
  }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
  defaultGuiType = if withGtk3 then "gtk3"
                   else if withQt5 then "qt5"
                   else "";
  in stdenv.mkDerivation rec {
    pname = "ventoy-bin";
    version = "1.0.56";
  
    nativeBuildInputs = [ autoPatchelfHook makeWrapper ]
      ++ lib.optional withQt5 qt5.wrapQtAppsHook;
    buildInputs = [ hexdump exfat dosfstools e2fsprogs xz util-linux bash parted ]
      ++ lib.optional withGtk3 gtk3
      ++ lib.optional withQt5 qt5.qtbase;
  
    src = fetchurl {
      url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
      sha256 = "da53d51e653092a170c11dd560e0ad6fb27c497dd77ad0ba483c32935c069dea";
    };
    patches = [
      (fetchpatch {
  