Skip to content

Instantly share code, notes, and snippets.

@tamipangadil
Last active June 19, 2025 15:29
Show Gist options
  • Save tamipangadil/4f69cfec51a66d6af478d97371447227 to your computer and use it in GitHub Desktop.
Save tamipangadil/4f69cfec51a66d6af478d97371447227 to your computer and use it in GitHub Desktop.
To install my CLI tools using https://asdf-vm.com
#!/bin/sh
asdf plugin-update nodejs
sh ~/.asdf/plugins/nodejs/bin/import-release-team-keyring
# asdf must be already installed
# Otherwise, install it using brew install asdf
# install latest versions
declare latests=(
gcloud
kubeval
kustomize
# pnpm
tmux
# act
github-cli
vault
fzf
helm
# argocd
# conftest
jq
yq
# opa
scala
tflint
# eksctl
fd
postgres
# golang
# docker-compose
redis
minikube
)
for toolName in "${latests[@]}"; do
asdf plugin add $toolName
asdf install $toolName latest
asdf global $toolName $(asdf list $toolName | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)
done
declare specifics=(
aws-iam-authenticator:0.5.2
nodejs:16.20.0
python:3.8.10
java:adoptopenjdk-11.0.9+101
sbt:1.4.4
terraform:0.13.6
yarn:1.22.19
# graalvm:20.3.1.2-java11
# yq:4.30.6
kubectl:1.26.3
istioctl:1.17.3
)
for toolNameWithversion in "${specifics[@]}"; do
# toolName=$(echo $toolNameWithversion | awk '{split($0,a,"|"); print $a[1]}')
# toolVersion=$(echo $toolNameWithversion | awk '{split($0,a,"|"); print $a[2]}')
toolName=${toolNameWithversion%%:*}
toolVersion=${toolNameWithversion##*:}
asdf plugin add $toolName
asdf install $toolName $toolVersion
asdf global $toolName $toolVersion
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment