diff --git a/pkgs/development/python-modules/pre-commit-hooks/default.nix b/pkgs/development/python-modules/pre-commit-hooks/default.nix new file mode 100644 index 00000000000..f5fe7ff96b8 --- /dev/null +++ b/pkgs/development/python-modules/pre-commit-hooks/default.nix @@ -0,0 +1,43 @@ +{ buildPythonPackage +, fetchFromGitHub +, fetchPypi +, git +, isPy27 +, lib +, pytestCheckHook +, ruamel_yaml +, toml +}: + +buildPythonPackage rec { + pname = "pre-commit-hooks"; + version = "3.3.0"; + disabled = isPy27; + + # fetchPypi does not provide tests + src = fetchFromGitHub { + owner = "pre-commit"; + repo = pname; + rev = "v${version}"; + sha256 = "1sppwcqsbr9gv2cpjslngcbggsxvdr84zgrin94yjr40jgkjzdpq"; + }; + + propagatedBuildInputs = [ toml ruamel_yaml ]; + checkInputs = [ git pytestCheckHook ]; + + # the tests require a functional git installation which requires a valid HOME + # directory. + preCheck = '' + export HOME="$(mktemp -d)" + + git config --global user.name "Nix Builder" + git config --global user.email "nix-builder@nixos.org" + ''; + + meta = with lib; { + description = "Some out-of-the-box hooks for pre-commit"; + homepage = "https://github.com/pre-commit/pre-commit-hooks"; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 309a31d4614..ee967f655d6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4789,6 +4789,8 @@ in { pre-commit = callPackage ../development/python-modules/pre-commit { }; + pre-commit-hooks = callPackage ../development/python-modules/pre-commit-hooks { }; + preggy = callPackage ../development/python-modules/preggy { }; premailer = callPackage ../development/python-modules/premailer { };