1 Commits

Author SHA1 Message Date
3af69989c0 chore(deps): update dependency node to v24.4.0 2025-07-09 19:48:47 +00:00
8 changed files with 170 additions and 92 deletions

View File

@@ -105,16 +105,16 @@ RUN apt-get update \
&& echo 'permit persist :wheel as root' > /etc/doas.conf && echo 'permit persist :wheel as root' > /etc/doas.conf
# command line utilities # command line utilities
ENV DO_VERSION 28.3.2 ENV DO_VERSION 28.2.2
ENV DO_URL https://download.docker.com/linux/static/stable/x86_64/docker-${DO_VERSION}.tgz ENV DO_URL https://download.docker.com/linux/static/stable/x86_64/docker-${DO_VERSION}.tgz
ENV DC_VERSION v2.38.2 ENV DC_VERSION v2.37.1
ENV DC_URL https://github.com/docker/compose/releases/download/${DC_VERSION}/docker-compose-linux-x86_64 ENV DC_URL https://github.com/docker/compose/releases/download/${DC_VERSION}/docker-compose-linux-x86_64
ENV BX_VERSION v0.25.0 ENV BX_VERSION v0.25.0
ENV BX_URL https://github.com/docker/buildx/releases/download/${BX_VERSION}/buildx-${BX_VERSION}.linux-amd64 ENV BX_URL https://github.com/docker/buildx/releases/download/${BX_VERSION}/buildx-${BX_VERSION}.linux-amd64
ENV EXERCISM_VERSION 3.5.4 ENV EXERCISM_VERSION 3.5.4
ENV EXERCISM_FILE exercism-${EXERCISM_VERSION}-linux-x86_64.tar.gz ENV EXERCISM_FILE exercism-${EXERCISM_VERSION}-linux-x86_64.tar.gz
ENV EXERCISM_URL https://github.com/exercism/cli/releases/download/v${EXERCISM_VERSION}/${EXERCISM_FILE} ENV EXERCISM_URL https://github.com/exercism/cli/releases/download/v${EXERCISM_VERSION}/${EXERCISM_FILE}
ENV NVIM_VERSION v0.11.3 ENV NVIM_VERSION v0.11.2
ENV NVIM_FILE nvim-linux-x86_64.tar.gz ENV NVIM_FILE nvim-linux-x86_64.tar.gz
ENV NVIM_URL https://github.com/neovim/neovim/releases/download/${NVIM_VERSION}/${NVIM_FILE} ENV NVIM_URL https://github.com/neovim/neovim/releases/download/${NVIM_VERSION}/${NVIM_FILE}
RUN curl -sS https://starship.rs/install.sh | sh -s -- --yes \ RUN curl -sS https://starship.rs/install.sh | sh -s -- --yes \
@@ -153,6 +153,24 @@ ENV XDG_CACHE_HOME ${HOME}/.cache
ENV STARSHIP_CONFIG ${XDG_CONFIG_HOME}/starship/config.toml ENV STARSHIP_CONFIG ${XDG_CONFIG_HOME}/starship/config.toml
ENV PATH ${LOCAL_BIN_HOME}:$PATH ENV PATH ${LOCAL_BIN_HOME}:$PATH
# NOTE (jpd): the section below exists mainly to handle a project running elixir 1.11.
# It allows the usage of openssl 1.1 and a compatible elixir-ls.
# configure openssl 1.1
# this is needed to compile older erlang versions
# example: KERL_CONFIGURE_OPTIONS="-with-ssl=$HOME/.local/lib/ssl" mise install
RUN mkdir -p ${HOME}/.local/src \
&& cd ${HOME}/.local/src \
&& curl -L https://www.openssl.org/source/openssl-1.1.1m.tar.gz | tar -xz \
&& cd openssl-1.1.1m \
&& ./config --prefix=${HOME}/.local/lib/ssl --openssldir=${HOME}/.local/lib/ssl shared zlib \
&& make \
# && make test \
&& make install
# fetch elixir-ls to install custom releases
RUN git clone https://github.com/elixir-lsp/elixir-ls.git ${LOCAL_SRC_HOME}/elixir-ls
# command line utilities # command line utilities
ENV MISE_ENV_FILE .env ENV MISE_ENV_FILE .env
RUN curl https://mise.jdx.dev/install.sh | sh \ RUN curl https://mise.jdx.dev/install.sh | sh \
@@ -210,3 +228,4 @@ RUN git config --global user.email "${GIT_USER_EMAIL}" \
&& git config --global includeIf."gitdir:/opt/work/".path ${XDG_CONFIG_HOME}/git/work && git config --global includeIf."gitdir:/opt/work/".path ${XDG_CONFIG_HOME}/git/work
COPY ./scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint COPY ./scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
COPY ./scripts/elixir-ls-setup.sh /usr/local/bin/elixir-ls-setup

View File

@@ -28,20 +28,6 @@
"mcp-server-git" "mcp-server-git"
] ]
}, },
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GH_TOKEN}"
}
},
"memory": { "memory": {
"command": "pnpm", "command": "pnpm",
"args": [ "args": [
@@ -49,20 +35,6 @@
"@modelcontextprotocol/server-memory@latest" "@modelcontextprotocol/server-memory@latest"
] ]
}, },
"memory-bank": {
"command": "pnpm",
"args": [
"dlx",
"@allpepper/memory-bank-mcp@latest"
]
},
"sequential-thinking": {
"command": "pnpm",
"args": [
"dlx",
"@modelcontextprotocol/server-sequential-thinking@latest"
]
},
"serena": { "serena": {
"command": "uvx", "command": "uvx",
"arg": [ "arg": [
@@ -78,7 +50,10 @@
"--tool-timeout", "--tool-timeout",
"30" "30"
] ]
},
"vectorcode": {
"command": "vectorcode-mcp-server",
"args": []
} }
} }
"nativeMCPServers": []
} }

View File

@@ -1,48 +1,54 @@
[tools] [tools]
"aqua:BurntSushi/ripgrep" = "14.1.1" "aqua:BurntSushi/ripgrep" = "14.1.1"
"aqua:CircleCI-Public/circleci-cli" = "0.1.32638"
"aqua:FiloSottile/age" = "1.2.1" "aqua:FiloSottile/age" = "1.2.1"
"aqua:ajeetdsouza/zoxide" = "0.9.8" "aqua:ajeetdsouza/zoxide" = "0.9.8"
"aqua:alexellis/k3sup" = "0.13.10" "aqua:alexellis/k3sup" = "0.13.10"
"aqua:astral-sh/uv" = "0.8.3" "aqua:astral-sh/uv" = "0.7.18"
"aqua:aws/aws-cli" = "2.27.60" "aqua:aws/aws-cli" = "2.27.47"
"aqua:bitwarden/clients" = "cli-v2025.5.0" "aqua:bitwarden/clients" = "cli-v2025.5.0"
"aqua:dagger/dagger" = "0.18.14" "aqua:dagger/dagger" = "0.18.12"
"aqua:derailed/k9s" = "0.50.9" "aqua:derailed/k9s" = "0.50.6"
"aqua:eksctl-io/eksctl" = "0.212.0" "aqua:eksctl-io/eksctl" = "0.210.0"
"aqua:evilmartians/lefthook" = "1.12.2" "aqua:evilmartians/lefthook" = "1.11.14"
"aqua:eza-community/eza" = "0.23.0" "aqua:eza-community/eza" = "0.21.6"
"aqua:github-cli" = "2.76.1" "aqua:github-cli" = "2.74.2"
"aqua:go-task/task" = "3.44.1" "aqua:go-task/task" = "3.44.0"
"aqua:hashicorp/terraform" = "1.12.2" "aqua:hashicorp/terraform" = "1.12.2"
"aqua:helm/helm" = "3.18.4" "aqua:helm/helm" = "3.18.3"
"aqua:jj-vcs/jj" = "0.31.0" "aqua:jj-vcs/jj" = "0.30.0"
"aqua:junegunn/fzf" = "0.65.0" "aqua:junegunn/fzf" = "0.63.0"
"aqua:k3d-io/k3d" = "5.8.3" "aqua:k3d-io/k3d" = "5.8.3"
"aqua:kubernetes-sigs/kind" = "0.29.0" "aqua:kubernetes-sigs/kind" = "0.29.0"
"aqua:kubernetes/kubectl" = "1.33.2" "aqua:kubernetes/kubectl" = "1.33.2"
"aqua:pnpm/pnpm" = "10.13.1" "aqua:pnpm/pnpm" = "10.12.4"
"aqua:sbstp/kubie" = "0.26.0" "aqua:sbstp/kubie" = "0.26.0"
"aqua:sharkdp/bat" = "0.25.0" "aqua:sharkdp/bat" = "0.25.0"
"aqua:starship/starship" = "1.23.0" "aqua:starship/starship" = "1.23.0"
"aqua:tilt-dev/ctlptl" = "0.8.42" "aqua:tilt-dev/ctlptl" = "0.8.42"
"aqua:tilt-dev/tilt" = "0.35.0" "aqua:tilt-dev/tilt" = "0.35.0"
"npm:@anthropic-ai/claude-code" = "1.0.61" "aqua:xo/usql" = "0.19.24"
"npm:@google/gemini-cli" = "0.1.14" "go:github.com/bloznelis/typioca" = "3.1.0"
"pipx:aider-chat" = { version = "0.85.2", uvx_args = "--python 3.12.10 --with google-generativeai" } "npm:@anthropic-ai/claude-code" = "1.0.41"
"pipx:httpie" = { version = "3.2.4", uvx_args = "--python 3.13.3" } "npm:@google/gemini-cli" = "0.1.9"
"pipx:aider-chat" = { version = "0.85.1", uvx_args = "--python 3.12.10 --with google-generativeai" }
"pipx:vectorcode" = { version = "0.7.5", extras = "mcp", uvx_args = "--python 3.13.3" }
"ubi:Samyak2/toipe" = "0.5.0" "ubi:Samyak2/toipe" = "0.5.0"
"ubi:block/goose" = "1.0.31"
"ubi:comtrya/comtrya" = "0.9.2" "ubi:comtrya/comtrya" = "0.9.2"
"ubi:hlsxx/tukai" = "0.2.2" "ubi:hlsxx/tukai" = "0.2.2"
"ubi:jdx/usage" = "2.2.2" "ubi:jdx/usage" = "2.1.1"
"ubi:max-niederman/ttyper" = "1.6.0" "ubi:max-niederman/ttyper" = "1.6.0"
"ubi:sst/opencode" = "0.3.79" "ubi:sst/opencode" = "0.1.174"
"ubi:supabase/cli" = { version = "2.30.4", exe = "supabase" }
"ubi:wagoodman/dive" = "0.13.1" "ubi:wagoodman/dive" = "0.13.1"
elixir = "1.18.4" elixir = "1.18.4"
erlang = "28.0.2" erlang = "28.0.1"
go = "1.24.5" go = "1.24.5"
lua = "5.1.5" lua = "5.1.5"
luajit = "2.0.5" luajit = "2.0.5"
node = "24.4.1" node = "24.4.0"
poetry = "2.1.3"
python = "3.13.5" python = "3.13.5"
r = "4.5.1" r = "4.5.1"
rust = "1.88.0" rust = "1.88.0"

View File

@@ -155,6 +155,36 @@ return {
}, },
}, },
}, },
{
'Davidyz/VectorCode',
dependencies = {
'nvim-lua/plenary.nvim',
},
version = vim.fn.system { 'mise', 'current', 'pipx:vectorcode' },
opts = function()
return {
async_opts = {
debounce = 10,
events = { 'BufWritePost', 'InsertEnter', 'BufReadPost' },
exclude_this = true,
n_query = 1,
notify = false,
query_cb = require('vectorcode.utils').make_surrounding_lines_cb(-1),
run_on_register = false,
},
async_backend = 'default',
exclude_this = true,
n_query = 1,
notify = true,
timeout_ms = 5000,
on_setup = {
update = false,
lsp = false,
},
sync_log_env_var = false,
}
end,
},
{ {
'olimorris/codecompanion.nvim', 'olimorris/codecompanion.nvim',
dependencies = { dependencies = {

View File

@@ -1,5 +1,5 @@
diff --git a/init.lua b/init.lua diff --git a/init.lua b/init.lua
index b98ffc6..22b2196 100644 index b98ffc6..f2d0ea5 100644
--- a/init.lua --- a/init.lua
+++ b/init.lua +++ b/init.lua
@@ -91,7 +91,7 @@ vim.g.mapleader = ' ' @@ -91,7 +91,7 @@ vim.g.mapleader = ' '
@@ -69,7 +69,7 @@ index b98ffc6..22b2196 100644
-- Enable the following language servers -- Enable the following language servers
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed. -- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
@@ -684,6 +693,39 @@ require('lazy').setup({ @@ -684,6 +693,28 @@ require('lazy').setup({
-- ts_ls = {}, -- ts_ls = {},
-- --
@@ -82,18 +82,7 @@ index b98ffc6..22b2196 100644
+ mixEnv = 'test', + mixEnv = 'test',
+ }, + },
+ }, + },
+ gopls = { + gopls = {},
+ filetypes = { 'go', 'gomod', 'gowork', 'gotmpl' },
+ settings = {
+ gopls = {
+ completeUnimported = true,
+ usePlaceholders = true,
+ analyses = {
+ unusedparams = true,
+ },
+ },
+ },
+ },
+ harper_ls = {}, + harper_ls = {},
+ helm_ls = {}, + helm_ls = {},
+ html = { filetypes = { 'html', 'twig', 'hbs' } }, + html = { filetypes = { 'html', 'twig', 'hbs' } },
@@ -109,7 +98,7 @@ index b98ffc6..22b2196 100644
lua_ls = { lua_ls = {
-- cmd = { ... }, -- cmd = { ... },
-- filetypes = { ... }, -- filetypes = { ... },
@@ -698,6 +740,38 @@ require('lazy').setup({ @@ -698,6 +729,38 @@ require('lazy').setup({
}, },
}, },
}, },
@@ -129,7 +118,7 @@ index b98ffc6..22b2196 100644
+ ["https://json.schemastore.org/prettierrc.json"] = ".prettierrc.{yml,yaml}", + ["https://json.schemastore.org/prettierrc.json"] = ".prettierrc.{yml,yaml}",
+ ["https://json.schemastore.org/circleciconfig.json"] = ".circleci/config.{yml,yaml}", + ["https://json.schemastore.org/circleciconfig.json"] = ".circleci/config.{yml,yaml}",
+ ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}", + ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}",
+ ["https://spec.openapis.org/oas/3.1/schema/2022-10-07"] = "*api*.{yml,yaml}", + ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}",
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/playbook"] = "*play*.{yml,yaml}", + ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/playbook"] = "*play*.{yml,yaml}",
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/tasks"] = "roles/tasks/*.{yml,yaml}", + ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/tasks"] = "roles/tasks/*.{yml,yaml}",
+ ["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}", + ["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}",
@@ -148,7 +137,7 @@ index b98ffc6..22b2196 100644
} }
-- Ensure the servers and tools above are installed -- Ensure the servers and tools above are installed
@@ -719,20 +793,36 @@ require('lazy').setup({ @@ -719,20 +782,50 @@ require('lazy').setup({
}) })
require('mason-tool-installer').setup { ensure_installed = ensure_installed } require('mason-tool-installer').setup { ensure_installed = ensure_installed }
@@ -169,7 +158,21 @@ index b98ffc6..22b2196 100644
+ local extend_server_config = function (server_name) + local extend_server_config = function (server_name)
+ local config = {} + local config = {}
+ +
+ if server_name == 'pyright' then + if server_name == 'elixirls' then
+ -- overwrite elixirls for older versions of elixir
+ -- * elixir 1.11 use version 0.12.0
+ -- * elixir 1.12 use verions 0.14.6
+ local version = vim.fn.system('mise current elixir') or ''
+ local elixir_servers = {
+ { version = '^1.11', path = '/elixir-ls/release/v0.12.0/language_server.sh' },
+ { version = '^1.12', path = '/elixir-ls/release/v0.14.6/language_server.sh' },
+ }
+ for _, ex_server in ipairs(elixir_servers) do
+ if string.match(version, ex_server.version) == nil then goto continue end
+ config = { cmd = { vim.fn.expand('$LOCAL_SRC_HOME') .. ex_server.path } }
+ ::continue::
+ end
+ elseif server_name == 'pyright' then
+ -- overwrite python path for pyright according to the virtualenv manager, be it poetry or system. + -- overwrite python path for pyright according to the virtualenv manager, be it poetry or system.
+ local python_paths = { + local python_paths = {
+ { name = 'system', cmd = { 'which', 'python' }}, + { name = 'system', cmd = { 'which', 'python' }},
@@ -199,7 +202,7 @@ index b98ffc6..22b2196 100644
end, end,
}, },
@@ -809,6 +899,9 @@ require('lazy').setup({ @@ -809,6 +902,9 @@ require('lazy').setup({
opts = {}, opts = {},
}, },
'folke/lazydev.nvim', 'folke/lazydev.nvim',
@@ -209,7 +212,7 @@ index b98ffc6..22b2196 100644
}, },
--- @module 'blink.cmp' --- @module 'blink.cmp'
--- @type blink.cmp.Config --- @type blink.cmp.Config
@@ -854,9 +947,19 @@ require('lazy').setup({ @@ -854,9 +950,19 @@ require('lazy').setup({
}, },
sources = { sources = {
@@ -230,7 +233,7 @@ index b98ffc6..22b2196 100644
}, },
}, },
@@ -882,19 +985,39 @@ require('lazy').setup({ @@ -882,19 +988,39 @@ require('lazy').setup({
-- --
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`. -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
'folke/tokyonight.nvim', 'folke/tokyonight.nvim',
@@ -262,21 +265,21 @@ index b98ffc6..22b2196 100644
+ -- For monoglow the following variants area available: + -- For monoglow the following variants area available:
+ -- 'monoglow-z', 'monoglow-lack', or 'monoglow-void'. + -- 'monoglow-z', 'monoglow-lack', or 'monoglow-void'.
+ -- gruvbox-material configuration based on https://github.com/gonstoll/dotfiles/blob/2d7ec07bd475c73e7ba1a48b27a2a85315bfd2d1/.config/nvim/lua/plugins/colorscheme/gruvbox.lua#L5-L13 + -- gruvbox-material configuration based on https://github.com/gonstoll/dotfiles/blob/2d7ec07bd475c73e7ba1a48b27a2a85315bfd2d1/.config/nvim/lua/plugins/colorscheme/gruvbox.lua#L5-L13
+ vim.g.gruvbox_material_better_performance = 1 + -- vim.g.gruvbox_material_better_performance = 1
+ vim.g.gruvbox_material_foreground = 'material' + -- vim.g.gruvbox_material_foreground = 'material'
+ vim.g.gruvbox_material_background = 'medium' + -- vim.g.gruvbox_material_background = 'medium'
+ vim.g.gruvbox_material_ui_contrast = 'low' + -- vim.g.gruvbox_material_ui_contrast = 'low'
+ vim.g.gruvbox_material_float_style = 'dim' + -- vim.g.gruvbox_material_float_style = 'dim'
+ vim.g.gruvbox_material_enable_italic = 0 + -- vim.g.gruvbox_material_enable_italic = 0
+ vim.g.gruvbox_material_disable_italic_comment = 1 + -- vim.g.gruvbox_material_disable_italic_comment = 1
+ vim.g.gruvbox_material_cursor = 'red' + -- vim.g.gruvbox_material_cursor = 'red'
+ vim.g.gruvbox_material_disable_terminal_colors = 1 + -- vim.g.gruvbox_material_disable_terminal_colors = 1
+ vim.cmd.colorscheme 'gruvbox-material' + -- vim.cmd.colorscheme 'gruvbox-material'
+ -- vim.cmd.colorscheme 'lackluster' + vim.cmd.colorscheme 'lackluster'
end, end,
}, },
@@ -944,7 +1067,39 @@ require('lazy').setup({ @@ -944,7 +1070,39 @@ require('lazy').setup({
main = 'nvim-treesitter.configs', -- Sets main module to use for opts main = 'nvim-treesitter.configs', -- Sets main module to use for opts
-- [[ Configure Treesitter ]] See `:help nvim-treesitter` -- [[ Configure Treesitter ]] See `:help nvim-treesitter`
opts = { opts = {
@@ -317,7 +320,7 @@ index b98ffc6..22b2196 100644
-- Autoinstall languages that are not installed -- Autoinstall languages that are not installed
auto_install = true, auto_install = true,
highlight = { highlight = {
@@ -974,17 +1129,17 @@ require('lazy').setup({ @@ -974,17 +1132,17 @@ require('lazy').setup({
-- Uncomment any of the lines below to enable them (you will need to restart nvim). -- Uncomment any of the lines below to enable them (you will need to restart nvim).
-- --
-- require 'kickstart.plugins.debug', -- require 'kickstart.plugins.debug',

View File

@@ -1,7 +1,6 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ "extends": [
"config:recommended", "config:base"
"schedule:earlyMondays" ]
]
} }

View File

@@ -1,6 +1,14 @@
#!/bin/bash #!/bin/bash
set -e set -e
# NOTE: (jpd) setup elixir-ls for older versions of elixir
if [ ! -d ${LOCAL_SRC_HOME}/elixir-ls/release ]; then
echo "setup elixir ls version 0.12.0"
/usr/local/bin/elixir-ls-setup v0.12.0
echo "setup elixir ls version 0.14.6"
/usr/local/bin/elixir-ls-setup v0.14.6
fi
# NOTE: (jpd) create auto-completion # NOTE: (jpd) create auto-completion
commands=( commands=(
"ctlptl" "ctlptl"

38
scripts/elixir-ls-setup.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -e
function setup() {
local elixir_ls_home=${LOCAL_SRC_HOME}/elixir-ls
local elixir_ls_release=${elixir_ls_home}/release
echo "elixir-ls repo"
cd ${elixir_ls_home}
echo "checkout versions ${1}"
git checkout tags/${1}
echo "set erlang/elixir versions"
cp .release-tool-versions .tool-versions
if [[ ! -z "$2" ]]; then
echo "override erlang to ${2}"
sed -i "s/erlang .*/erlang ${2}/g" .tool-versions
fi
if [[ ! -z "$3" ]]; then
echo "override elixir to ${3}"
sed -i "s/elixir .*/elixir ${3}/g" .tool-versions
fi
local current_erlang=$(mise current erlang)
local current_elixir=$(mise current elixir)
echo "using erlang ${current_erlang} / elixir ${current_elixir}"
echo "install erlang/elixir runtimes"
KERL_CONFIGURE_OPTIONS="-with-ssl=${HOME}/.local/lib/ssl" mise install
echo "install elixir-ls deps"
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "mix do local.rebar --force, local.hex --force, deps.get, deps.compile"
echo "compile and release elixir-ls"
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "MIX_ENV=prod mix compile"
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "MIX_ENV=prod mix elixir_ls.release -o ${elixir_ls_release}/${1}"
echo "remove local .tool-versions"
cp .tool-versions ${elixir_ls_release}/${1}
rm .tool-versions
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "mix do deps.clean --all, clean"
git checkout master
}
setup $1 $2 $3