{ pkgs ? import <nixpkgs> { }
, stdenv ? pkgs.stdenv
, lib ? stdenv.lib
, appimageTools ? pkgs.appimageTools
, fetchurl ? pkgs.fetchurl
}:

let
	pname = "unofficial-homestuck-collection";
	version = "2.5.6";

	src = fetchurl {
		url = "https://github.com/GiovanH/unofficial-homestuck-collection/releases/download/v${version}/The-Unofficial-Homestuck-Collection-${version}.AppImage";
		hash = "sha256-DR5tdLgABW/fvMkPzV5tUfWyXe3ie5Pgo1RndFXUxlo=";
	};

	appimageContents = appimageTools.extractType1 { inherit pname src; };
in
appimageTools.wrapType2 rec {
  inherit pname version src;

  extraInstallCommands = ''
	sed -i 's/$@"/$@" --no-sandbox/' "$out/bin/unofficial-homestuck-collection"
  '';

  meta = {
    description = "An offline collection of Homestuck and its related works. ";
    homepage = "https://github.com/GiovanH/unofficial-homestuck-collection";
    downloadPage = "https://github.com/GiovanH/unofficial-homestuck-collection/releases";
    license = lib.licenses.gpl3Plus;
    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
    maintainers = [{
        name = "Freya Murphy";
        email = "contact@freyacat.org";
    }];
    platforms = [ "x86_64-linux" ];
  };
}