I use shfmt and shellcheck together with pre-commit. I like to use the shfmt-py and shellcheck-py pre-commit hooks as opposed to https://github.com/jumanjihouse/pre-commit-hooks as they'll install the shfmt/shellcheck prebuilt binaries as needed:
An alternative to have both `shfmt` and `shellcheck` and all pre-commit hooks managed (that is, automatically installed until no longer used and garbage collected) is to use https://devenv.sh/.
After `devenv init`, update `devenv.nix` as follows:
After `devenv init`, update `devenv.nix` as follows: