* feat: container runtime selection use both docker and podman runtimes 1. if only docker on path use docker runtime 2. if only podman on path use podman runtime 3. to specify runtime use PREK_CONTAINER_RUNTIME Signed-off-by: Steven Taylor <steven@taylormuff.co.uk> * Tweak detection --------- Signed-off-by: Steven Taylor <steven@taylormuff.co.uk> Co-authored-by: Jo <10510431+j178@users.noreply.github.com>
2.6 KiB
Configuration
Prek is fully compatible with pre-commit configuration file .pre-commit-config.yaml, for example:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/crate-ci/typos
rev: v1.36.2
hooks:
- id: typos
Your existing configs work unchanged with prek.
For configuration details, refer to the official pre-commit docs: pre-commit.com
Prek specific configurations
minimum_prek_version
Specify the minimum required version of prek for the configuration. If the installed version is lower, prek will exit with an error.
Example:
minimum_prek_version: '0.2.0'
The original minimum_pre_commit_version option has no effect and gets ignored in prek.
Environment variables
Prek supports the following environment variables:
-
PREK_HOME— Override the prek data directory (caches, toolchains, hook envs). Defaults to~/.cache/prekon macOS and Linux, and%LOCALAPPDATA%\prekon Windows. -
PREK_COLOR— Control colored output: auto (default), always, or never. -
PREK_SKIP— Comma-separated list of hook IDs to skip (e.g. black,ruff). See Skipping Projects or Hooks for details. -
PREK_ALLOW_NO_CONFIG— Allow running without a .pre-commit-config.yaml (useful for ad‑hoc runs). -
PREK_NO_CONCURRENCY— Disable parallelism for installs and runs. -
PREK_NO_FAST_PATH— Disable Rust-native built-in hooks; always use the original hook implementation. See Built-in Fast Hooks for details. -
PREK_UV_SOURCE— Control how uv (Python package installer) is installed. Options:github(download from GitHub releases)pypi(install from PyPI)tuna(use Tsinghua University mirror)aliyun(use Alibaba Cloud mirror)tencent(use Tencent Cloud mirror)pip(install via pip)- a custom PyPI mirror URL
If not set, prek automatically selects the best available source.
-
PREK_NATIVE_TLS- Use system's trusted store instead of the bundledwebpki-rootscrate. -
PREK_CONTAINER_RUNTIME- Specify the container runtime to use for container-based hooks (e.g.,docker,docker_image). Options:auto(default, auto-detect available runtime)dockerpodman
Compatibility fallbacks:
PRE_COMMIT_ALLOW_NO_CONFIG— Fallback forPREK_ALLOW_NO_CONFIG.PRE_COMMIT_NO_CONCURRENCY— Fallback forPREK_NO_CONCURRENCY.SKIP— Fallback forPREK_SKIP.