Compare commits

2 Commits

Author SHA1 Message Date
a167f2f393 nodejs nvm for macos 2026-03-29 00:36:48 +08:00
7112296339 nerd-fonts misc 2026-03-29 00:14:29 +08:00
2 changed files with 66 additions and 39 deletions

View File

@@ -5,13 +5,8 @@ set -eo pipefail
#TODO nokia-sans #TODO nokia-sans
isMac() { isMac() { uname -s | grep -q "Darwin"; }
uname -s | grep -q "Darwin" isLinux() { uname -s | grep -q "Linux"; }
}
isLinux() {
uname -s | grep -q "Linux"
}
url="https://github.com/ryanoasis/nerd-fonts/releases/latest/download" url="https://github.com/ryanoasis/nerd-fonts/releases/latest/download"
downloadPath="$HOME/install/nerd-fonts" downloadPath="$HOME/install/nerd-fonts"
@@ -20,20 +15,20 @@ if isMac; then
elif isLinux; then elif isLinux; then
installPath="$HOME/.local/share/fonts/" installPath="$HOME/.local/share/fonts/"
else else
echo "Ths OS not supported yet!" echo "This OS is not supported yet!"
exit exit
fi fi
fontsNames=( fontsNames=(
FiraCode FiraCode
FiraMono # FiraMono
JetBrainsMono JetBrainsMono
Meslo Meslo
# Noto # Noto
RobotoMono RobotoMono
Ubuntu # Ubuntu
UbuntuMono # UbuntuMono
UbuntuSans # UbuntuSans
) )
install() { install() {
@@ -44,17 +39,13 @@ install() {
echo echo
[[ -d "$downloadPath" ]] || mkdir -p "$downloadPath" [[ -d "$downloadPath" ]] || mkdir -p "$downloadPath"
for fontname in "${fontsNames[@]}"; do for fontname in "${fontsNames[@]}"; do
fontDir="$installPath/Nerd-$fontname" fontDir="$installPath/Nerd-$fontname"
wget "$url/$fontname.tar.xz" -O "$downloadPath/$fontname.tar.xz" wget "$url/$fontname.tar.xz" -O "$downloadPath/$fontname.tar.xz"
[[ -d "$installPath/$fontname" ]] || mkdir -p "$fontDir" [[ -d "$installPath/$fontname" ]] || mkdir -p "$fontDir"
tar -xJf "$downloadPath/$fontname.tar.xz" -C "$fontDir" tar -xJf "$downloadPath/$fontname.tar.xz" -C "$fontDir"
done done
isLinux && fc-cache -vf "$installPath"
if isLinux; then
fc-cache -vf "$installPath"
fi
echo echo
echo "Finish!" echo "Finish!"
@@ -69,10 +60,7 @@ remove() {
echo echo
find "$installPath" -type d -name "Nerd-*" -exec rm -rf {} + find "$installPath" -type d -name "Nerd-*" -exec rm -rf {} +
isLinux && fc-cache -vf "$installPath"
if isLinux; then
fc-cache -vf "$installPath"
fi
echo echo
echo "Finish!" echo "Finish!"

View File

@@ -1,27 +1,66 @@
#!/usr/bin/env bash #!/usr/bin/env bash
##makedesc: Install nodejs + npm via nvm ##makedesc: Install nodejs + npm via nvm
echo isMac() { uname -s | grep -q "Darwin"; }
echo "===============================================" isLinux() { uname -s | grep -q "Linux"; }
echo "Installing nodejs..."
echo "==============================================="
echo
installed() { install() {
command -v "$1" >/dev/null 2>&1 echo
echo "==============================================="
echo "Installing nodejs + nvm..."
echo "==============================================="
echo
if isMac; then
brew install nvm
elif isLinux; then
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
else
echo "This OS is not supported yet!"
exit
fi
nvm install-latest-npm
nvm install node
nvm use node
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && source "$NVM_DIR/bash_completion"
cat << EOF >> "$HOME/.profile"
# nvm (not nvim!)
export NVM_DIR="\$HOME/.nvm" # nvim_autoinstalled
[ -s "\$NVM_DIR/nvm.sh" ] && source "\$NVM_DIR/nvm.sh" # nvim_autoinstalled
[ -s "\$NVM_DIR/bash_completion" ] && source "\$NVM_DIR/bash_completion" # nvim_autoinstalled
EOF
echo
echo "Finish!"
echo
nvm current
nvm ls
} }
installed "nvm" && sudo apt install -y --autoremove nodejs npm nvm remove() {
echo
echo "==============================================="
echo "Removing nodejs + nvm..."
echo "==============================================="
echo
! installed "nvm" && wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash nvm unload
rm -rf "$NVM_DIR"
# sed -i "/NVM_DIR[=\].+/d" "$HOME/.profile"
brew uninstall nvm
export NVM_DIR="$HOME/.nvm" echo
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" echo "Finish!"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" echo
}
nvm install-latest-npm case "$1" in
nvm install node r|remove|d|delete|p|purge) remove ;;
nvm use node *) install ;;
echo "Finish!" esac
nvm current
nvm ls