From a2b601a77963ad1569abe49f35c4dfbd0af77fbe Mon Sep 17 00:00:00 2001 From: Alexander Roso Date: Tue, 11 Aug 2026 10:44:32 +0200 Subject: [PATCH] Add fnm install function --- plugins/nvm/nvm.plugin.zsh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh index 7996004..1c62bd6 100644 --- a/plugins/nvm/nvm.plugin.zsh +++ b/plugins/nvm/nvm.plugin.zsh @@ -1,7 +1,8 @@ typeset -a chpwd_functions __chromaz_extra_left # fnm FNM_PATH="${XDG_DATA_HOME:-$HOME/.local/share}/fnm" -if [ -d "$FNM_PATH" ]; then + +_setup-fnm() { export PATH="$FNM_PATH:$PATH" eval "$(fnm env --use-on-cd --version-file-strategy recursive)" FNM_DEFAULT=${$(readlink $FNM_PATH/aliases/default):h:t} @@ -12,6 +13,10 @@ if [ -d "$FNM_PATH" ]; then echo "nodejs: ${node_version}" } __chromaz_extra_left+=_prompt_fnm_version +} + +if [ -d "$FNM_PATH" ]; then + _setup-fnm elif [ -d "$HOME/.nvm" ]; then export NVM_DIR="$HOME/.nvm" nvm() { @@ -46,6 +51,14 @@ elif [ -d "$HOME/.nvm" ]; then } __chromaz_extra_left+=_prompt_nvm_version else - return + install-fnm() { + mkdir -p "$FNM_PATH" &>/dev/null + if ! curl -L https://github.com/Schniz/fnm/releases/latest/download/fnm-linux.zip | funzip > $FNM_PATH/fnm ; then + echo "Download failed. Check that the release/filename are correct." + return 1 + fi + chmod u+x "$FNM_PATH/fnm" + _setup-fnm + } fi