{ lib
, fetchzip
, buildFHSUserEnv }: let
  name = "BLHeliSuite32";
  pname = "blhelisuite32";
  workdir = "/tmp/${pname}";
  version = "32.10";

  dist = fetchzip {
    name = "${pname}-dist";
    url = "https://github.com/bitdump/BLHeli/releases/download/Rev${version}/${name}xLinux64_1044.zip";
    hash = "sha256-lempCne+Sf/38WHfJHRdL6MspSpi+UhpZNFcsPgI0jw=";

    postFetch = ''
      # BLHeliSuite32 tries to write next to its binary
      ln -s ${workdir}/settings $out/Settings
      ln -s ${workdir}/music $out/Music
    '';
  };
in buildFHSUserEnv {
  inherit pname;
  targetPkgs = pkgs: (with pkgs; [
    glib libGL curl
    libgcc gtk3
    zlib systemdLibs
  ]);

  runScript = "sh -c '" +
  "mkdir -p ${workdir}/settings && " +
  "mkdir -p ${workdir}/music && " +
  "exec ${dist}/${name}xl'";
}
