#!/bin/sh set -e # Install NVM export NVM_DIR="$HOME/.nvm" mkdir -p "$NVM_DIR" curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash . "$NVM_DIR/nvm.sh" # Preinstall a few nodejs versions nvm install --lts # The first version installed becomes the default nvm install 18 nvm install 20 nvm install 22 # Preinstall all package managers corepack prepare npm --activate corepack prepare yarn --activate corepack prepare pnpm --activate # corepack disable corepack enable npm corepack enable pnpm corepack enable yarn # Set up PNPM environment for the current script execution export PNPM_HOME="$HOME/.local/share/pnpm" mkdir -p "$PNPM_HOME" export PATH="$PNPM_HOME:$PATH" # Now install global packages pnpm add -g vscode-langservers-extracted typescript-language-server # Also add to .zshrc for future shell sessions cat << 'EOF' >> $HOME/.zshrc # pnpm export PNPM_HOME="$HOME/.local/share/pnpm" case ":$PATH:" in *":$PNPM_HOME:"*) ;; *) export PATH="$PNPM_HOME:$PATH" ;; esac # pnpm end EOF