{
  lib,
  buildGoModule,
  fetchFromGitHub,
}:

buildGoModule (finalAttrs: {
  pname = "termsvg";
  version = "0.11.0";

  src = fetchFromGitHub {
    owner = "MrMarble";
    repo = "termsvg";
    rev = "v${finalAttrs.version}";
    hash = "sha256-wV5b0HXf+DVSn5FbPU9/AXTaNKyenbxEGB9yI29e/cc=";
  };

  vendorHash = "sha256-6cXckWJFc/nYlz0HeLHXaXWNFR7HLEfU10gd2K2zgq0=";

  ldflags = [
    "-s"
    "-w"
    "-X=main.version=${finalAttrs.version}"
    "-X=main.commit=${finalAttrs.src.rev}"
    "-X=main.date=1970-01-01T00:00:00Z"
  ];

  meta = {
    description = "Record, share and export your terminal as a animated SVG image";
    homepage = "https://github.com/MrMarble/termsvg";
    license = lib.licenses.gpl3Only;
    maintainers = with lib.maintainers; [ pbsds ];
    mainProgram = "termsvg";
  };
})
