diff --git a/.python-version b/.python-version index e4fba21..d9506ce 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.12 +3.12.5 diff --git a/base/tool-versions b/base/tool-versions index 23b74b6..71abeb5 100644 --- a/base/tool-versions +++ b/base/tool-versions @@ -6,24 +6,25 @@ direnv 2.34.0 dotenv-linter 3.3.0 editorconfig-checker 2.8.0 eza 0.19.0 -fd 10.1.0 +fd 10.2.0 github-cli 2.55.0 golang 1.23.0 hadolint 2.12.0 kubectl 1.31.0 lazygit 0.43.1 -nodejs 22.6.0 -pipx 1.6.0 +markdownlint-cli2 0.13.0 +nodejs 22.7.0 +pipx 1.7.0 pre-commit 3.8.0 +python 3.12.5 ripgrep 14.1.0 ruby 3.3.4 rust 1.80.1 semgrep system shellcheck 0.10.0 -shfmt 3.8.0 -terraform-lsp 0.0.12 -terragrunt 0.66.3 +shfmt 3.9.0 +terragrunt 0.66.9 tf-summarize 0.3.10 -vault 1.17.3+ent +vault 1.17.3 yamllint 1.35.1 yq 4.44.3 diff --git a/config/asdf/plugin-versions b/config/asdf/plugin-versions index 88e3a5a..85fdd2b 100644 --- a/config/asdf/plugin-versions +++ b/config/asdf/plugin-versions @@ -1,28 +1,30 @@ -1password-cli https://github.com/NeoHsu/asdf-1password-cli.git f5d5aab -age https://github.com/threkk/asdf-age.git 4df80a0 -asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git 50d2735 -bottom https://github.com/carbonteq/asdf-btm.git fd8a55a -dotenv-linter https://github.com/wesleimp/asdf-dotenv-linter.git 1369f53 -editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git 585c1d5 -eza https://github.com/lwiechec/asdf-eza.git 08c1b65 -fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0 -github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7 -hadolint https://github.com/devlincashman/asdf-hadolint.git 335e230 -kubectl https://github.com/asdf-community/asdf-kubectl.git cbe6df4 -lazygit https://github.com/nklmilojevic/asdf-lazygit.git 78e04f1 -neovim https://github.com/richin13/asdf-neovim d6118ad -nodejs https://github.com/asdf-vm/asdf-nodejs.git c5b7c40 -pipx https://github.com/yozachar/asdf-pipx.git 31db618 -pre-commit https://github.com/jonathanmorley/asdf-pre-commit.git 26bfc42 -ripgrep https://gitlab.com/wt0f/asdf-ripgrep.git e836665 -rust https://github.com/code-lever/asdf-rust.git 95acf4f -semgrep https://github.com/brentjanderson/asdf-semgrep.git 13ff78b -shellcheck https://github.com/luizm/asdf-shellcheck.git 780d78d -shfmt https://github.com/luizm/asdf-shfmt.git a42c5ff -terraform-ls https://github.com/asdf-community/asdf-hashicorp.git f1602b6 -terraform-lsp https://github.com/bartlomiejdanek/asdf-terraform-lsp.git bba7106 -terragrunt https://github.com/ohmer/asdf-terragrunt 4a6651a -tf-summarize https://github.com/adamcrews/asdf-tf-summarize.git 880ad26 -vault https://github.com/asdf-community/asdf-hashicorp.git f1602b6 -yamllint https://github.com/ericcornelissen/asdf-yamllint.git d5c3161 -yq https://github.com/sudermanjr/asdf-yq.git 772992f +1password-cli https://github.com/NeoHsu/asdf-1password-cli.git f5d5aab +age https://github.com/threkk/asdf-age.git 4df80a0 +asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git dfb44cb +bottom https://github.com/carbonteq/asdf-btm.git fd8a55a +direnv https://github.com/asdf-community/asdf-direnv.git a2219c2 +dotenv-linter https://github.com/wesleimp/asdf-dotenv-linter.git 1369f53 +editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git 585c1d5 +eza https://github.com/lwiechec/asdf-eza.git eee3d59 +fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0 +github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7 +golang https://github.com/asdf-community/asdf-golang.git 0e86b1d +hadolint https://github.com/devlincashman/asdf-hadolint.git 335e230 +kubectl https://github.com/asdf-community/asdf-kubectl.git cbe6df4 +lazygit https://github.com/nklmilojevic/asdf-lazygit.git 78e04f1 +markdownlint-cli2 https://github.com/paulo-ferraz-oliveira/asdf-markdownlint-cli2.git 6acd080 +nodejs https://github.com/asdf-vm/asdf-nodejs.git c36e6f0 +pipx https://github.com/yozachar/asdf-pipx.git 31db618 +pre-commit https://github.com/jonathanmorley/asdf-pre-commit.git 26bfc42 +python https://github.com/asdf-community/asdf-python 7b0af87 +ripgrep https://gitlab.com/wt0f/asdf-ripgrep.git e836665 +ruby https://github.com/asdf-vm/asdf-ruby.git 27f78c9 +rust https://github.com/code-lever/asdf-rust.git 95acf4f +semgrep https://github.com/brentjanderson/asdf-semgrep.git 13ff78b +shellcheck https://github.com/luizm/asdf-shellcheck.git 66200ff +shfmt https://github.com/luizm/asdf-shfmt.git a42c5ff +terragrunt https://github.com/ohmer/asdf-terragrunt.git 4a6651a +tf-summarize https://github.com/adamcrews/asdf-tf-summarize.git 880ad26 +vault https://github.com/asdf-community/asdf-hashicorp.git f1602b6 +yamllint https://github.com/ericcornelissen/asdf-yamllint.git d8c041a +yq https://github.com/sudermanjr/asdf-yq.git 772992f diff --git a/config/asdf/python-packages b/config/asdf/python-packages new file mode 100644 index 0000000..7cc367e --- /dev/null +++ b/config/asdf/python-packages @@ -0,0 +1,2 @@ +ansible +pipenv diff --git a/scripts/install-asdf.sh b/scripts/install-asdf.sh index 0acf1cd..8714b69 100755 --- a/scripts/install-asdf.sh +++ b/scripts/install-asdf.sh @@ -12,8 +12,6 @@ msg "Sourcing asdf in your shell" # Function to update asdf and plugins update_asdf() { - asdf update - asdf plugin add asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git asdf install asdf-plugin-manager latest asdf global asdf-plugin-manager "$(asdf latest asdf-plugin-manager)" @@ -21,58 +19,89 @@ update_asdf() asdf-plugin-manager add-all asdf install -} -ASDF_INSTALLABLES=( - "1password-cli:github.com/NeoHsu/asdf-1password-cli.git" - "age:github.com/threkk/asdf-age.git" - "bottom:github.com/carbonteq/asdf-btm.git" - "direnv:github.com/asdf-community/asdf-direnv.git" - "dotenv-linter:github.com/wesleimp/asdf-dotenv-linter.git" - "editorconfig-checker:github.com/gabitchov/asdf-editorconfig-checker.git" - "eza:github.com/lwiechec/asdf-eza.git" - "fd:gitlab.com/wt0f/asdf-fd.git" - "github-cli:github.com/bartlomiejdanek/asdf-github-cli.git" - "golang:github.com/asdf-community/asdf-golang.git" - "hadolint:github.com/devlincashman/asdf-hadolint.git" - "kubectl:github.com/asdf-community/asdf-kubectl.git" - "lazygit:github.com/nklmilojevic/asdf-lazygit.git" - "nodejs:github.com/asdf-vm/asdf-nodejs.git" - "pipx:github.com/yozachar/asdf-pipx.git" - "pre-commit:github.com/jonathanmorley/asdf-pre-commit.git" - "ripgrep:gitlab.com/wt0f/asdf-ripgrep.git" - "rust:github.com/code-lever/asdf-rust.git" - "semgrep:github.com/brentjanderson/asdf-semgrep.git" - "shellcheck:github.com/luizm/asdf-shellcheck.git" - "shfmt:github.com/luizm/asdf-shfmt.git" - "terraform-ls:github.com/asdf-community/asdf-hashicorp.git" - "terraform-lsp:github.com/bartlomiejdanek/asdf-terraform-lsp.git" - "terragrunt:github.com/ohmer/asdf-terragrunt.git" - "tf-summarize:github.com/adamcrews/asdf-tf-summarize.git" - "vault:github.com/asdf-community/asdf-hashicorp.git" - "yamllint:github.com/ericcornelissen/asdf-yamllint.git" - "yq:github.com/sudermanjr/asdf-yq.git" -) + return 0 +} # Function to install asdf plugins install_asdf_plugins() { - msg "Installing asdf plugins, if not already installed" + ASDF_INSTALLABLES=( + "1password-cli:github.com/NeoHsu/asdf-1password-cli.git" + "age:github.com/threkk/asdf-age.git" + "bottom:github.com/carbonteq/asdf-btm.git" + "direnv:github.com/asdf-community/asdf-direnv.git" + "dotenv-linter:github.com/wesleimp/asdf-dotenv-linter.git" + "editorconfig-checker:github.com/gabitchov/asdf-editorconfig-checker.git" + "eza:github.com/lwiechec/asdf-eza.git" + "fd:gitlab.com/wt0f/asdf-fd.git" + "github-cli:github.com/bartlomiejdanek/asdf-github-cli.git" + "golang:github.com/asdf-community/asdf-golang.git" + "hadolint:github.com/devlincashman/asdf-hadolint.git" + "kubectl:github.com/asdf-community/asdf-kubectl.git" + "lazygit:github.com/nklmilojevic/asdf-lazygit.git" + "markdownlint-cli2:github.com/paulo-ferraz-oliveira/asdf-markdownlint-cli2.git" + "nodejs:github.com/asdf-vm/asdf-nodejs.git" + "pipx:github.com/yozachar/asdf-pipx.git" + "pre-commit:github.com/jonathanmorley/asdf-pre-commit.git" + "python:github.com/asdf-community/asdf-python.git" + "ripgrep:gitlab.com/wt0f/asdf-ripgrep.git" + "rust:github.com/code-lever/asdf-rust.git" + "semgrep:github.com/brentjanderson/asdf-semgrep.git" + "shellcheck:github.com/luizm/asdf-shellcheck.git" + "shfmt:github.com/luizm/asdf-shfmt.git" + "terragrunt:github.com/ohmer/asdf-terragrunt.git" + "tf-summarize:github.com/adamcrews/asdf-tf-summarize.git" + "vault:github.com/asdf-community/asdf-hashicorp.git" + "yamllint:github.com/ericcornelissen/asdf-yamllint.git" + "yq:github.com/sudermanjr/asdf-yq.git" + ) + + msg "Installing asdf plugins" for item in "${ASDF_INSTALLABLES[@]}"; do CMD=$(echo "${item}" | awk -F ":" '{print $1}') URL=$(echo "${item}" | awk -F ":" '{print $2}') + asdf plugin add "${CMD}" "https://${URL}" asdf install "${CMD}" latest asdf global "${CMD}" "$(asdf latest "${CMD}")" done + + msg "Exporting asdf plugin versions" + asdf-plugin-manager export > "${XDG_CONFIG_HOME}/asdf/plugin-versions" + + return 0 +} + +reshim() +{ + msg "Reshim asdf" + asdf reshim + return 0 +} + +# create usage function +usage() +{ + echo "Usage: $0 [install|add_plugins]" + exit 1 } main() { - update_asdf - install_asdf_plugins - msg "Reshim asdf" - asdf reshim + case $1 in + "install") + update_asdf + reshim + ;; + "add_plugins") + install_asdf_plugins + reshim + ;; + *) + usage + ;; + esac } main "$@"