From e8d68f2b7a1703a14fa4e9f284c665875f49a068 Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Fri, 25 Oct 2024 19:28:39 -0500 Subject: [PATCH 1/9] Implement /Users/dvc/.nvm option for install dir --- README.md | 9 +++++++++ conf.d/nvm.fish | 7 +++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 354f73f..01fcbd6 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,15 @@ Got a list of default packages you want installed every time you install a new N set --universal nvm_default_packages yarn np ``` +## Custom Install Directory + +To set a custom install directory for storing Node versions, set the `$NVM_DIR` environment variable. +Add the following to your fish config: + +```fish +set -gx NVM_DIR $HOME/.nvm +``` + ## Acknowledgments `nvm.fish` was established in 2016 by [**@jorgebucaran**](https://github.com/jorgebucaran) as the go-to Node.js version manager for Fish. It was inspired by the original [**nvm.sh**](https://github.com/nvm-sh/nvm) created by [**@creationix**](https://github.com/creationix) and [**@ljharb**](https://github.com/ljharb). To use the original nvm in Fish, consider [**@FabioAntunes/fish-nvm**](https://github.com/FabioAntunes/fish-nvm) or [**@derekstavis/plugin-nvm**](https://github.com/derekstavis/plugin-nvm). We appreciate all of our contributors! ❤️ diff --git a/conf.d/nvm.fish b/conf.d/nvm.fish index e060f2f..ee33dfe 100644 --- a/conf.d/nvm.fish +++ b/conf.d/nvm.fish @@ -1,6 +1,9 @@ set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist -set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share -set --global nvm_data $XDG_DATA_HOME/nvm +set --query NVM_DIR && set --global nvm_data $NVM_DIR +set --query nvm_data || begin + set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share + set --global nvm_data $XDG_DATA_HOME/nvm +end function _nvm_install --on-event nvm_install test ! -d $nvm_data && command mkdir -p $nvm_data From baf3cc57b158811356d95914b2a20cb7153c38f4 Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Fri, 25 Oct 2024 19:35:13 -0500 Subject: [PATCH 2/9] Update readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 01fcbd6..2ef1fb5 100644 --- a/README.md +++ b/README.md @@ -111,10 +111,10 @@ Got a list of default packages you want installed every time you install a new N set --universal nvm_default_packages yarn np ``` -## Custom Install Directory +## Custom nvm's installation directory -To set a custom install directory for storing Node versions, set the `$NVM_DIR` environment variable. -Add the following to your fish config: +To set a custom nvm's installation directory for storing Node versions, set the `$NVM_DIR` environment variable. +Set `$HOME/.nvm` as the install directory? Add this to your `config.fish`: ```fish set -gx NVM_DIR $HOME/.nvm From 9450c60a1358ef6658bc6fafaded89f1109e8537 Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Fri, 25 Oct 2024 20:09:36 -0500 Subject: [PATCH 3/9] Update nvm_dir --- README.md | 5 ++--- conf.d/nvm.fish | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2ef1fb5..12099c8 100644 --- a/README.md +++ b/README.md @@ -113,11 +113,10 @@ set --universal nvm_default_packages yarn np ## Custom nvm's installation directory -To set a custom nvm's installation directory for storing Node versions, set the `$NVM_DIR` environment variable. -Set `$HOME/.nvm` as the install directory? Add this to your `config.fish`: +If you want to set nvm's installation directory for storing Node versions: ```fish -set -gx NVM_DIR $HOME/.nvm +set --universal nvm_dir $HOME/.nvm ``` ## Acknowledgments diff --git a/conf.d/nvm.fish b/conf.d/nvm.fish index ee33dfe..75f73a8 100644 --- a/conf.d/nvm.fish +++ b/conf.d/nvm.fish @@ -1,5 +1,5 @@ set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist -set --query NVM_DIR && set --global nvm_data $NVM_DIR +set --query nvm_dir && set --global nvm_data $nvm_dir set --query nvm_data || begin set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share set --global nvm_data $XDG_DATA_HOME/nvm From 8cb71b5c949887c2e945b9f01dd9736c2078b712 Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Fri, 25 Oct 2024 20:15:07 -0500 Subject: [PATCH 4/9] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 12099c8..41a49a6 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ Got a list of default packages you want installed every time you install a new N set --universal nvm_default_packages yarn np ``` -## Custom nvm's installation directory +## `$nvm_dir` If you want to set nvm's installation directory for storing Node versions: From d716bbc3e72bc70a3d1fddcf3a0c6d2862ba8819 Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Thu, 12 Dec 2024 10:10:10 -0600 Subject: [PATCH 5/9] Add desc on help --- functions/nvm.fish | 1 + 1 file changed, 1 insertion(+) diff --git a/functions/nvm.fish b/functions/nvm.fish index b7d70de..e7e3313 100644 --- a/functions/nvm.fish +++ b/functions/nvm.fish @@ -49,6 +49,7 @@ function nvm --description "Node version manager" echo " nvm_mirror Use a mirror for downloading Node binaries" echo " nvm_default_version Set the default version for new shells" echo " nvm_default_packages Install a list of packages every time a Node version is installed" + echo " nvm_dir Set a custom nvm's install directory for storing Node versions" echo "Examples:" echo " nvm install latest Install the latest version of Node" echo " nvm use 14.15.1 Use Node version 14.15.1" From 7d642e9c48e1b08374d6c119bdd8e88658dda2ad Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Sat, 14 Dec 2024 10:48:47 -0600 Subject: [PATCH 6/9] Refactor to nvm_data instead of nvm_dir --- README.md | 6 +++--- conf.d/nvm.fish | 1 - functions/nvm.fish | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 41a49a6..4d8586c 100644 --- a/README.md +++ b/README.md @@ -111,12 +111,12 @@ Got a list of default packages you want installed every time you install a new N set --universal nvm_default_packages yarn np ``` -## `$nvm_dir` +## `$nvm_data` -If you want to set nvm's installation directory for storing Node versions: +If you want to set a custom directory for storing nvm data: ```fish -set --universal nvm_dir $HOME/.nvm +set --universal nvm_data $HOME/.nvm ``` ## Acknowledgments diff --git a/conf.d/nvm.fish b/conf.d/nvm.fish index 75f73a8..c8f339f 100644 --- a/conf.d/nvm.fish +++ b/conf.d/nvm.fish @@ -1,5 +1,4 @@ set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist -set --query nvm_dir && set --global nvm_data $nvm_dir set --query nvm_data || begin set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share set --global nvm_data $XDG_DATA_HOME/nvm diff --git a/functions/nvm.fish b/functions/nvm.fish index e7e3313..f76b261 100644 --- a/functions/nvm.fish +++ b/functions/nvm.fish @@ -49,7 +49,7 @@ function nvm --description "Node version manager" echo " nvm_mirror Use a mirror for downloading Node binaries" echo " nvm_default_version Set the default version for new shells" echo " nvm_default_packages Install a list of packages every time a Node version is installed" - echo " nvm_dir Set a custom nvm's install directory for storing Node versions" + echo " nvm_data Set a custom directory for storing nvm data" echo "Examples:" echo " nvm install latest Install the latest version of Node" echo " nvm use 14.15.1 Use Node version 14.15.1" From 6b1924ca27535292b187cc7deddd26560259db1e Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Sat, 14 Dec 2024 14:05:04 -0600 Subject: [PATCH 7/9] Fixed unable to resolve default version --- conf.d/nvm.fish | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf.d/nvm.fish b/conf.d/nvm.fish index c8f339f..5681eb8 100644 --- a/conf.d/nvm.fish +++ b/conf.d/nvm.fish @@ -1,4 +1,7 @@ set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist +set --query --universal nvm_data && begin + set --global nvm_data $nvm_data +end set --query nvm_data || begin set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share set --global nvm_data $XDG_DATA_HOME/nvm From 05ec19e3c1a0a1e4e1384672fdd08f75ab9c0ad6 Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Sat, 14 Dec 2024 14:08:37 -0600 Subject: [PATCH 8/9] Cleanup --- conf.d/nvm.fish | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/conf.d/nvm.fish b/conf.d/nvm.fish index 5681eb8..763e264 100644 --- a/conf.d/nvm.fish +++ b/conf.d/nvm.fish @@ -1,7 +1,5 @@ set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist -set --query --universal nvm_data && begin - set --global nvm_data $nvm_data -end +set --query --universal nvm_data && set --global nvm_data $nvm_data set --query nvm_data || begin set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share set --global nvm_data $XDG_DATA_HOME/nvm From a757168ae18fc6fe7777771034524172479c1161 Mon Sep 17 00:00:00 2001 From: Davy CHHOUK Date: Mon, 16 Dec 2024 21:30:00 -0600 Subject: [PATCH 9/9] Optimize --- README.md | 4 ++-- conf.d/nvm.fish | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 4d8586c..4fd6e42 100644 --- a/README.md +++ b/README.md @@ -113,10 +113,10 @@ set --universal nvm_default_packages yarn np ## `$nvm_data` -If you want to set a custom directory for storing nvm data: +Set where nvm stores Node binaries and related data. Defaults to `$XDG_DATA_HOME/nvm` (~/.local/share/nvm) if unset. ```fish -set --universal nvm_data $HOME/.nvm +set --global nvm_data ~/.nvm ``` ## Acknowledgments diff --git a/conf.d/nvm.fish b/conf.d/nvm.fish index 763e264..7545699 100644 --- a/conf.d/nvm.fish +++ b/conf.d/nvm.fish @@ -1,9 +1,6 @@ +set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist -set --query --universal nvm_data && set --global nvm_data $nvm_data -set --query nvm_data || begin - set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share - set --global nvm_data $XDG_DATA_HOME/nvm -end +set --query nvm_data || set --global nvm_data $XDG_DATA_HOME/nvm function _nvm_install --on-event nvm_install test ! -d $nvm_data && command mkdir -p $nvm_data