anchor.diff: -{ lib, python3Packages }:
  +{ lib
  +, python3Packages
  +, fetchFromGitHub
  +  # tests
  +, cargo
  +, dotnet-sdk
  +, git
  +, go
  +, nodejs
  +}:
   
   with python3Packages;
   buildPythonPackage rec {
  
positive.code:     importlib-resources
    ];
  
    # slow and impure
    doCheck = false;
  
    preFixup = ''
      substituteInPlace $out/${python.sitePackages}/pre_commit/resources/hook-tmpl \
        --subst-var-by pre-commit $out
      substituteInPlace $out/${python.sitePackages}/pre_commit/languages/python.py \
        --subst-var-by virtualenv ${virtualenv}
      substituteInPlace $out/${python.sitePackages}/pre_commit/languages/node.py \
        --subst-var-by nodeenv ${nodeenv}
    '';
  
    pythonImportsCheck = [
      "pre_commit"
  
negative.code: 
    disabled = pythonOlder "3.6";
  
    src = fetchFromGitHub {
      owner = "pre-commit";
      repo = "pre-commit";
      rev = "v${version}";
      sha256 = "sha256-d/ukUTjNgpqr6IeDJHDaOXQm0EdsX+vq0sVX7HG3gSE=";
    };
  
    patches = [
  