Allows to build a python env with pre_commit module:
python3.withPackages(p: [p.pre-commit])
pre-commit is already converted to an application in `git-and-tools/default.nix`:
pre-commit = pkgs.python3Packages.toPythonApplication pkgs.python3Packages.pre-commit;
So that it can still be installed as a standalone application.
pre-commit currently install impure Git hooks that look for the
`pre-commit` binary in PATH. If the user has `pre-commit` loaded via a
nix-shell instead of having it installed then GUI editors, such as
Intellij, won't be able to use Git commit because the hook fails trying
to look for the `pre-commit` binary in PATH.
This patch updates the hook template to use the hardcoded path to the
`pre-commit` binary if it was found, fallback to using the one from
PATH.