enable pre-commit
This commit is contained in:
parent
c2259c5783
commit
1732ed5cd2
45
.pre-commit-config.yaml
Normal file
45
.pre-commit-config.yaml
Normal file
@ -0,0 +1,45 @@
|
||||
# See https://pre-commit.com for more information
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v2.4.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-yaml
|
||||
- id: check-added-large-files
|
||||
- id: check-merge-conflict
|
||||
- id: pretty-format-json
|
||||
- id: check-symlinks
|
||||
- id: detect-aws-credentials
|
||||
- id: detect-private-key
|
||||
- id: flake8
|
||||
- id: requirements-txt-fixer
|
||||
- id: sort-simple-yaml
|
||||
- repo: git://github.com/antonbabenko/pre-commit-terraform
|
||||
rev: v1.25.0 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases
|
||||
hooks:
|
||||
- id: terraform_fmt
|
||||
- id: terraform_docs
|
||||
- id: terraform_tflint
|
||||
args: ['--deep']
|
||||
- id: terraform_validate
|
||||
- repo: https://github.com/jumanjihouse/pre-commit-hooks
|
||||
sha: 1.11.2
|
||||
hooks:
|
||||
- id: shellcheck
|
||||
- id: shfmt
|
||||
- id: script-must-have-extension
|
||||
- id: git-check
|
||||
# - id: git-dirty
|
||||
- id: forbid-binary
|
||||
- id: bundler-audit
|
||||
#- repo: https://github.com/ansible/ansible-lint.git
|
||||
# rev: v4.1.0
|
||||
# hooks:
|
||||
# - id: ansible-lint
|
||||
# files: \.(yaml|yml)$
|
||||
#- repo: https://github.com/pre-commit/mirrors-autopep8
|
||||
# rev: 'v1.5' # Use the sha / tag you want to point at
|
||||
# hooks:
|
||||
# - id: autopep8
|
3
Brewfile
3
Brewfile
@ -158,3 +158,6 @@ brew "coreutils"
|
||||
brew "gh" # GitHub CLI
|
||||
brew "bash" # time to upgrade bash
|
||||
brew "popeye" # Kubernetes resources sanity analysis
|
||||
brew "pre-commit" # https://pre-commit.com/#install
|
||||
brew "terraform-docs" # https://github.com/segmentio/terraform-docs
|
||||
brew "shfmt" # format shell
|
||||
|
27
centos.sh
27
centos.sh
@ -74,8 +74,8 @@ source "/root/.sdkman/bin/sdkman-init.sh"
|
||||
|
||||
# Install Plantuml
|
||||
sdk install java
|
||||
curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download -o /usr/local/bin/plantuml.jar && \
|
||||
echo 'java -jar /usr/local/bin/plantuml.jar $@' > /usr/local/bin/plantuml && \
|
||||
curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download -o /usr/local/bin/plantuml.jar &&
|
||||
echo 'java -jar /usr/local/bin/plantuml.jar $@' >/usr/local/bin/plantuml &&
|
||||
chmod +x /usr/local/bin/plantuml
|
||||
|
||||
# Using pyenv to be able to install specific python versions https://stackoverflow.com/questions/49794432/how-to-setup-a-pipenv-python-3-6-project-if-os-python-version-is-3-5
|
||||
@ -166,22 +166,22 @@ cd "$HOME"
|
||||
sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v3.9/googler && sudo chmod +x /usr/local/bin/googler
|
||||
|
||||
# Install BAT (cat with more power)
|
||||
wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz \
|
||||
&& tar -xzvf bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz \
|
||||
&& mv bat-v0.11.0-x86_64-unknown-linux-musl/bat /usr/local/bin/ \
|
||||
&& rm -rf bat-v0.11.0-x86_64-unknown-linux-musl*
|
||||
wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
|
||||
tar -xzvf bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
|
||||
mv bat-v0.11.0-x86_64-unknown-linux-musl/bat /usr/local/bin/ &&
|
||||
rm -rf bat-v0.11.0-x86_64-unknown-linux-musl*
|
||||
|
||||
# Install fselect
|
||||
cargo install fselect
|
||||
|
||||
# surfraw
|
||||
git clone --depth 1 https://gitlab.com/surfraw/Surfraw.git \
|
||||
&& cd Surfraw \
|
||||
&& ./prebuild \
|
||||
&& ./configure \
|
||||
&& make && make install \
|
||||
&& cd .. \
|
||||
&& rm -rf Surfraw
|
||||
git clone --depth 1 https://gitlab.com/surfraw/Surfraw.git &&
|
||||
cd Surfraw &&
|
||||
./prebuild &&
|
||||
./configure &&
|
||||
make && make install &&
|
||||
cd .. &&
|
||||
rm -rf Surfraw
|
||||
|
||||
# Dictionary
|
||||
yum -y install dictd
|
||||
@ -232,7 +232,6 @@ EOF
|
||||
|
||||
yum install -y kubectl
|
||||
|
||||
|
||||
# Install the harbottle-main repo
|
||||
sudo yum -y install https://harbottle.gitlab.io/harbottle-main/7/x86_64/harbottle-main-release.rpm
|
||||
yum -y install kubectx
|
||||
|
45
dot_git-template/.pre-commit-config.yaml
Normal file
45
dot_git-template/.pre-commit-config.yaml
Normal file
@ -0,0 +1,45 @@
|
||||
# See https://pre-commit.com for more information
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v2.4.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-yaml
|
||||
- id: check-added-large-files
|
||||
- id: check-merge-conflict
|
||||
- id: pretty-format-json
|
||||
- id: check-symlinks
|
||||
- id: detect-aws-credentials
|
||||
- id: detect-private-key
|
||||
- id: flake8
|
||||
- id: requirements-txt-fixer
|
||||
- id: sort-simple-yaml
|
||||
- repo: git://github.com/antonbabenko/pre-commit-terraform
|
||||
rev: v1.25.0 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases
|
||||
hooks:
|
||||
- id: terraform_fmt
|
||||
- id: terraform_docs
|
||||
- id: terraform_tflint
|
||||
args: ['--deep']
|
||||
- id: terraform_validate
|
||||
- repo: https://github.com/jumanjihouse/pre-commit-hooks
|
||||
sha: 1.11.2
|
||||
hooks:
|
||||
- id: shellcheck
|
||||
- id: shfmt
|
||||
- id: script-must-have-extension
|
||||
- id: git-check
|
||||
# - id: git-dirty
|
||||
- id: forbid-binary
|
||||
- id: bundler-audit
|
||||
#- repo: https://github.com/ansible/ansible-lint.git
|
||||
# rev: v4.1.0
|
||||
# hooks:
|
||||
# - id: ansible-lint
|
||||
# files: \.(yaml|yml)$
|
||||
#- repo: https://github.com/pre-commit/mirrors-autopep8
|
||||
# rev: 'v1.5' # Use the sha / tag you want to point at
|
||||
# hooks:
|
||||
# - id: autopep8
|
44
dot_git-template/hooks/pre-commit
Executable file
44
dot_git-template/hooks/pre-commit
Executable file
@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env python
|
||||
# File generated by pre-commit: https://pre-commit.com
|
||||
# ID: 138fd403232d2ddd5efb44317e38bf03
|
||||
import os
|
||||
import sys
|
||||
|
||||
# we try our best, but the shebang of this script is difficult to determine:
|
||||
# - macos doesn't ship with python3
|
||||
# - windows executables are almost always `python.exe`
|
||||
# therefore we continue to support python2 for this small script
|
||||
if sys.version_info < (3, 3):
|
||||
from distutils.spawn import find_executable as which
|
||||
else:
|
||||
from shutil import which
|
||||
|
||||
# work around https://github.com/Homebrew/homebrew-core/issues/30445
|
||||
os.environ.pop('__PYVENV_LAUNCHER__', None)
|
||||
|
||||
# start templated
|
||||
INSTALL_PYTHON = '/usr/local/Cellar/pre-commit/2.0.1/libexec/bin/python3.8'
|
||||
ARGS = ['hook-impl', '--config=.pre-commit-config.yaml', '--hook-type=pre-commit', '--skip-on-missing-config']
|
||||
# end templated
|
||||
ARGS.extend(('--hook-dir', os.path.realpath(os.path.dirname(__file__))))
|
||||
ARGS.append('--')
|
||||
ARGS.extend(sys.argv[1:])
|
||||
|
||||
DNE = '`pre-commit` not found. Did you forget to activate your virtualenv?'
|
||||
if os.access(INSTALL_PYTHON, os.X_OK):
|
||||
CMD = [INSTALL_PYTHON, '-mpre_commit']
|
||||
elif which('pre-commit'):
|
||||
CMD = ['pre-commit']
|
||||
else:
|
||||
raise SystemExit(DNE)
|
||||
|
||||
CMD.extend(ARGS)
|
||||
if sys.platform == 'win32': # https://bugs.python.org/issue19124
|
||||
import subprocess
|
||||
|
||||
if sys.version_info < (3, 7): # https://bugs.python.org/issue25942
|
||||
raise SystemExit(subprocess.Popen(CMD).wait())
|
||||
else:
|
||||
raise SystemExit(subprocess.call(CMD))
|
||||
else:
|
||||
os.execvp(CMD[0], CMD)
|
@ -31,4 +31,4 @@
|
||||
[diff]
|
||||
noprefix = true
|
||||
[init]
|
||||
templatedir = ~/.git-templates
|
||||
templateDir = /Users/morganwattiez/.git-template
|
||||
|
10
dot_profile
Normal file
10
dot_profile
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
|
||||
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
|
||||
|
||||
|
||||
export JETBRAINS_LICENSE_SERVER=https://licenseserver.collibra.com
|
||||
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
@ -31,6 +31,7 @@ esac
|
||||
|
||||
# Create symbolic links
|
||||
echo "Creating symbolic links"
|
||||
ln -snf ~/Code/dotfiles/dot_profile ~/.profile
|
||||
ln -snf ~/.local/share/chezmoi/ ~/dotfiles
|
||||
ln -snf ~/Code/dotfiles/Gemfile ~/Gemfile
|
||||
ln -snf ~/Code/dotfiles/README.md ~/README.md
|
||||
@ -49,6 +50,7 @@ ln -snf ~/Code/dotfiles/dot_surfraw.conf ~/.surfraw.conf
|
||||
ln -snf ~/Code/dotfiles/private_dot_3llo/config.sh ~/.3llo_config
|
||||
ln -snf ~/Code/dotfiles/dot_ansiweatherrc ~/.ansiweatherrc
|
||||
ln -snf ~/Code/dotfiles/dot_p10k_dot_zsh ~/.p10k.zsh
|
||||
ln -snf ~/Code/dotfiles/dot_git-template ~/.git-template
|
||||
|
||||
# Other symblinks + Install Docker Desktop for Mac
|
||||
case "$(uname -s)" in
|
||||
@ -205,6 +207,12 @@ git clone https://github.com/sherlock-project/sherlock.git ~/Code/sherlock
|
||||
cd sherlock || exit
|
||||
python3 -m pip install -r requirements.txt
|
||||
|
||||
git config --global init.templateDir ~/.git-template
|
||||
pre-commit init-templatedir ~/.git-template
|
||||
|
||||
terraform-docs completion zsh >/usr/local/share/zsh/site-functions/_terraform-docs
|
||||
autoload -U compinit && compinit
|
||||
|
||||
# Upgrade
|
||||
echo "Upgrading apps"
|
||||
~/.scripts/upgrade.sh
|
||||
|
@ -31,3 +31,6 @@ aws-iam-authenticator version
|
||||
stern --version
|
||||
helm version
|
||||
terragrunt --version
|
||||
pre-commit --version
|
||||
terraform-docs --version
|
||||
tflint --version
|
||||
|
@ -71,6 +71,7 @@ alias ipinfo='curl "ipinfo.io/"$(ip)'
|
||||
|
||||
# Misc
|
||||
alias h='cd $HOME'
|
||||
alias bash="/usr/local/bin/bash"
|
||||
alias diff='colordiff'
|
||||
alias cp='cp -i' # confirmation before overwrite #
|
||||
alias mv='mv -i' # confirmation before overwrite
|
||||
|
@ -226,3 +226,8 @@ function gcrb {
|
||||
}
|
||||
function terraform-compliance { docker run --rm -v "$(pwd):/target" -i -t eerkunt/terraform-compliance "$@"; }
|
||||
function checkov { docker run -i --rm -v "$(pwd):/tf" bridgecrew/checkov -d /tf "$@" ; }
|
||||
function copyhooks {
|
||||
cp -f ~/.git-template/.pre-commit-config.yaml ./
|
||||
pre-commit install --install-hooks --overwrite
|
||||
pre-commit run -a
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user