Ruff [0] is the best linter around for performance but I'm not sure how well it fills the static analysis role. It has a vscode extension which updates the linting with no noticeable lag but it isn't a full fledged type checker. Their suggestion is to run ruff through the vscode extension and then manually run mypy or whatever type checker on occasion (maybe as a pre commit hook?).
Has anyone managed to get ruff to work when run as a pre-commit hook in a project whose deps (such as python and pre-commit) are declared in a flake.nix?
I love being able to pop between devices and have a uniform dev experience everywhere, but ruff is a thorn in my side.
pre-commit can't be told to just use the ruff binary /nix/store and fails to install it correctly, so things get hacky.
[0] https://github.com/charliermarsh/ruff