ide/scripts/elixir-ls-setup.sh
João Paulo Dubas 6feae34b63 feat: improve depedencies setup and upgrade tools to latest version (#24)
1. Migrate from `rtx` to `mise`
2. Set most of the tools using `mise`
   * Some tools, such as `starship` and `zoxide` are installed locally, so they are available at boot time
3. Improve `tmux` by adding
   * resurrect and continuum to record/restore sessions
   * better color scheme
4. Setup multiple `elixir-ls` releases using the same repository
5. Upgraded `kickstart.nvim` to latest version

Reviewed-on: #24
2024-01-14 19:00:37 +00:00

31 lines
1.2 KiB
Bash
Executable File

#!/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
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