{
  lib,
  appimageTools,
  runCommand,
  curl,
  gnugrep,
  cacert,
  fetchurl,
  copyDesktopItems,
  makeDesktopItem,
}:

appimageTools.wrapType1 rec {
  pname = "pureref";
  version = "2.0.3";

  src =
    runCommand "PureRef-${version}_x64.Appimage"
      {
        nativeBuildInputs = [
          curl
          gnugrep
          cacert
        ];
        outputHash = "sha256-0iR1cP2sZvWWqKwRAwq6L/bmIBSYHKrlI8u8V2hANfM=";
      }
      ''
        key="$(curl -A 'nixpkgs/Please contact maintainer if there is an issue' "https://www.pureref.com/download.php" --silent | grep '%3D%3D' | cut -d '"' -f2)"
        curl -L "https://www.pureref.com/files/build.php?build=LINUX64.Appimage&version=${version}&downloadKey=$key" --output $out
      '';

  icon = fetchurl {
    url = "https://raw.githubusercontent.com/nextcloud/talk-desktop/refs/tags/v1.0.0/img/icons/icon.png";
    hash = "sha256-DteSSuxIs0ukIJrvUO/3Mrh5F2GG5UAVvGRZUuZonkg=";
  };
  nativeBuildInputs = [
    copyDesktopItems
  ];

  desktopItems = [
    (makeDesktopItem {
      type = "Application";
      name = "pureref";
      desktopName = "PureRef";
      # comment = finalAttrs.meta.description;
      # exec = finalAttrs.meta.mainProgram;
      icon = "pureref";
      categories = [
        "Graphics"
        "2DGraphics"
        "RasterGraphics"
      ];
    })
  ];

  meta = with lib; {
    description = "Reference Image Viewer";
    homepage = "https://www.pureref.com";
    license = licenses.unfree;
    maintainers = with maintainers; [
      elnudev
      husjon
    ];
    platforms = [ "x86_64-linux" ];
    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
  };
}
