{ pkgs }:

pkgs.rustPlatform.buildRustPackage rec {
  pname = "bin";
  version = "e8fac0f0c8c9b48e3933c6f4a9e607a99cc97cf8";

  src = pkgs.fetchFromGitHub {
    owner = "WantGuns";
    repo = pname;
    rev = version;
    sha256 = "sha256-c5iuk1T3x17iEbLAno716pkQkRtVsB0UJzgIrR64Uec=";
  };

  # Use custom syntax highlighting theme
  preBuild = ''
    cp ${
      ../../external/paramount-dark.tmTheme
    } resources/themes/paramount-dark.tmTheme

    substituteInPlace src/models/pretty.rs \
      --replace "ayu_dark.tmTheme" "paramount-dark.tmTheme" \

    substituteInPlace static/css/index.css static/css/pretty.css templates/* \
      --replace "#0f1419" "#000000" \
      --replace "#f29718" "#a790d5" \
      --replace "#F29718" "#a790d5" \
      --replace "#be7611" "#8673aa"
  '';

  cargoLock = { lockFile = "${src}/Cargo.lock"; };

  nativeBuildInputs = [ pkgs.git ];

  meta = {
    description = "highly opinionated, minimal pastebin";
    homepage = "https://github.com/WantGuns/bin";
  };
}
