{
  pins,
  lib,
  disableHardening ? true,
  fetchFromGitHub,
  stdenv,
  unixtools,
}:
assert disableHardening -> lib.warn "nyxpkgs/rat disables hardening to avoid segfaults. You may want to consider overriding the package if this is undesirable" true; let
  pin = pins.rat;

  pname = "rat";
  version = "2.0.1";
in
  stdenv.mkDerivation {
    inherit pname version;

    src = fetchFromGitHub {
      inherit (pin.repository) owner repo;
      sha256 = pin.hash;
      rev = pin.revision;
    };

    # the code is so unsafe, it doesn't work with even one of hardening flags
    # lol
    hardeningDisable = lib.optionals disableHardening ["all"];

    buildInputs = [unixtools.xxd];
    buildPhase = ''
      runHook preBuild
      make linux_audio
      runHook postBuild
    '';

    installPhase = ''
      runHook preInstall
      mkdir -p $out/bin
      install -Dm755 ./bin/rat -t "$out/bin/"
      runHook postInstall
    '';

    meta = {
      description = "rat";
      homepage = "https://github.com/thinkingsand/rat";
      maintainers = with lib.maintainers; [NotAShelf];
    };
  }