summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolaos Boutalas <nikolaos@boutalas.me>2023-08-07 11:51:08 +0300
committerNikolaos Boutalas <nikolaos@boutalas.me>2023-08-07 11:54:27 +0300
commit803b8cd7919f6602432cf2f185ee7fc28ba4ed6b (patch)
tree133e9c3eceeca66f1cdd8a4b5d3eecdab93090e3
parent072d1391328d09dc2163c86797148f4c8ec55364 (diff)
Add node task
-rw-r--r--dotfiles/nvm/.nvmrc1
-rw-r--r--local.yml1
-rw-r--r--tasks/node.yml35
3 files changed, 37 insertions, 0 deletions
diff --git a/dotfiles/nvm/.nvmrc b/dotfiles/nvm/.nvmrc
new file mode 100644
index 0000000..64f5a0a
--- /dev/null
+++ b/dotfiles/nvm/.nvmrc
@@ -0,0 +1 @@
+node
diff --git a/local.yml b/local.yml
index 148bb45..d9d458d 100644
--- a/local.yml
+++ b/local.yml
@@ -3,4 +3,5 @@
- include: tasks/dependencies.yml
- include: tasks/zsh.yml
- include: tasks/ssh.yml
+ - include: tasks/node.yml
- include: tasks/dotfiles.yml
diff --git a/tasks/node.yml b/tasks/node.yml
new file mode 100644
index 0000000..39b5b07
--- /dev/null
+++ b/tasks/node.yml
@@ -0,0 +1,35 @@
+- name: Install nvm
+ shell: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
+ args:
+ warn: false
+ tags:
+ - node
+
+- name: Enable nvm
+ lineinfile:
+ path: "~/.config/zsh/.zshrc"
+ line: |
+ export NVM_DIR=~/.nvm
+ [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
+ autoload -U add-zsh-hook
+ load-nvmrc() {
+ local node_version="$(nvm version)"
+ local nvmrc_path="$(nvm_find_nvmrc)"
+
+ if [ -n "$nvmrc_path" ]; then
+ local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
+
+ if [ "$nvmrc_node_version" = "N/A" ]; then
+ nvm install
+ elif [ "$nvmrc_node_version" != "$node_version" ]; then
+ nvm use
+ fi
+ elif [ "$node_version" != "$(nvm version default)" ]; then
+ echo "Reverting to nvm default version"
+ nvm use default
+ fi
+ }
+ add-zsh-hook chpwd load-nvmrc
+ load-nvmrc
+ tags:
+ - node