diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 513ff4a8ecd..2093c86b050 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -111,6 +111,8 @@ let hubUnstable = throw "use gitAndTools.hub instead"; + pre-commit = callPackage ./pre-commit { }; + qgit = qt5.callPackage ./qgit { }; stgit = callPackage ./stgit { diff --git a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix new file mode 100644 index 00000000000..d125672f8ca --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix @@ -0,0 +1,31 @@ +{ stdenv, python3Packages }: +with python3Packages; buildPythonApplication rec { + pname = "pre_commit"; + version = "1.10.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "1kn8h9k9ca330m5n7r4cvxp679y3sc95m1x23a3qhzgam09n7jwr"; + }; + + propagatedBuildInputs = [ + aspy-yaml + cached-property + cfgv + identify + nodeenv + six + toml + virtualenv + ]; + + # Tests fail due to a missing windll dependency + doCheck = false; + + meta = with stdenv.lib; { + description = "A framework for managing and maintaining multi-language pre-commit hooks"; + homepage = https://pre-commit.com/; + license = licenses.mit; + maintainers = with maintainers; [ borisbabic ]; + }; +}