From 975d0afc31ff530480f5f4ebc8e5b8665bdf683a Mon Sep 17 00:00:00 2001 From: Ivan Reshetnikov Date: Mon, 27 May 2024 11:55:49 +0500 Subject: [PATCH] feat: add asdf package manager and elixir --- dev.yml | 1 + roles/asdf/files/elixir.sh | 10 ++++++++++ roles/asdf/tasks/main.yml | 16 ++++++++++++++++ roles/terminal/files/profile.sh | 5 +++++ 4 files changed, 32 insertions(+) create mode 100755 roles/asdf/files/elixir.sh create mode 100644 roles/asdf/tasks/main.yml diff --git a/dev.yml b/dev.yml index a256ffd..dd6da72 100644 --- a/dev.yml +++ b/dev.yml @@ -1,6 +1,7 @@ - name: Development environment hosts: odhosts roles: + - asdf - golang - python - docker diff --git a/roles/asdf/files/elixir.sh b/roles/asdf/files/elixir.sh new file mode 100755 index 0000000..31e7a95 --- /dev/null +++ b/roles/asdf/files/elixir.sh @@ -0,0 +1,10 @@ +#!/bin/bash +ASDF_DIR=$HOME/src/asdf . ~/src/asdf/asdf.sh + +asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git +asdf global erlang 27.0 +asdf install erlang 27.0 + +asdf plugin add elixir https://github.com/asdf-vm/asdf-elixir.git +asdf global elixir 1.16 +asdf install elixir 1.16 diff --git a/roles/asdf/tasks/main.yml b/roles/asdf/tasks/main.yml new file mode 100644 index 0000000..1886658 --- /dev/null +++ b/roles/asdf/tasks/main.yml @@ -0,0 +1,16 @@ +- name: Clone asdf + ansible.builtin.git: + repo: https://github.com/asdf-vm/asdf.git + dest: "{{ ansible_env.HOME }}/src/asdf" + version: v0.14.0 +- name: Install plugin dependencies + become: true + ansible.builtin.apt: + pkg: + - build-essential + - autoconf + - m4 + - unzip +- name: Install erlang and elixir + ansible.builtin.script: + cmd: files/elixir.sh diff --git a/roles/terminal/files/profile.sh b/roles/terminal/files/profile.sh index 72a02cd..f207177 100644 --- a/roles/terminal/files/profile.sh +++ b/roles/terminal/files/profile.sh @@ -49,3 +49,8 @@ fi # Firefox export MOZ_ENABLE_WAYLAND=1 + +# Asdf - elixir, nodejs manager +if [ -d "$HOME/src/asdf" ] ; then + . "$HOME/src/asdf/asdf.sh" +fi