From 5c2f0fa22eb882740d0fdbfc6eef401c5e421625 Mon Sep 17 00:00:00 2001 From: Daniel Tomlinson Date: Tue, 9 Mar 2021 18:08:06 +0000 Subject: [PATCH] adding npm role --- group_vars/all/npm.yml | 1 + roles/npm/tasks/main.yml | 19 +++++++++++++++++++ roles/shell/templates/.zshrc.j2 | 6 ++++++ 3 files changed, 26 insertions(+) create mode 100644 group_vars/all/npm.yml create mode 100644 roles/npm/tasks/main.yml diff --git a/group_vars/all/npm.yml b/group_vars/all/npm.yml new file mode 100644 index 0000000..350a32d --- /dev/null +++ b/group_vars/all/npm.yml @@ -0,0 +1 @@ +nvm_version: v0.37.2 diff --git a/roles/npm/tasks/main.yml b/roles/npm/tasks/main.yml new file mode 100644 index 0000000..7cba066 --- /dev/null +++ b/roles/npm/tasks/main.yml @@ -0,0 +1,19 @@ +--- +- name: Install and configure npm/nvm/yarn + tags: npm + become: true + become_user: "{{ default_user }}" + block: + - name: Install nvm + shell: "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/{{ nvm_version }}/install.sh | bash" + args: + creates: "{{ default_user_home }}/.nvm/nvm.sh" + + - name: Install latest node/npm + shell: "source {{ default_user_home }}/.nvm/nvm.sh && nvm install node" + + - name: Activate latest version + shell: "source {{ default_user_home }}/.nvm/nvm.sh && nvm use node" + + - name: Install Yarn + shell: "source {{ default_user_home }}/.nvm/nvm.sh && npm install -g yarn" diff --git a/roles/shell/templates/.zshrc.j2 b/roles/shell/templates/.zshrc.j2 index e11ea2d..e6374e7 100644 --- a/roles/shell/templates/.zshrc.j2 +++ b/roles/shell/templates/.zshrc.j2 @@ -197,6 +197,12 @@ source "$HOME/.cargo/env" export GOBIN="$HOME/go/bin" export PATH="/usr/local/go/bin:$HOME/go/bin:$PATH" +################################################################ +# NVM # +################################################################ +export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm + ################################################################ # APPS # ################################################################