38 lines
1 KiB
Bash
38 lines
1 KiB
Bash
#!/bin/bash
|
|
# Per-user helpers not managed by brew: nvm (official installer) + tpm.
|
|
|
|
NVM_VERSION="${NVM_VERSION:-v0.40.1}"
|
|
|
|
install_nvm() {
|
|
if [[ -s $HOME/.nvm/nvm.sh ]]; then
|
|
info "nvm already installed"
|
|
else
|
|
info "Installing nvm ($NVM_VERSION)..."
|
|
PROFILE=/dev/null bash -c \
|
|
"curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh | bash" ||
|
|
warn "nvm install failed (install manually if you need Node)"
|
|
fi
|
|
|
|
if [[ -s $HOME/.nvm/nvm.sh ]]; then
|
|
# Mason needs npm for its Node-backed language servers and tools.
|
|
# Keep Node owned by nvm rather than installing the distro nodejs package.
|
|
source "$HOME/.nvm/nvm.sh"
|
|
nvm install --lts
|
|
nvm alias default 'lts/*'
|
|
fi
|
|
}
|
|
|
|
install_tpm() {
|
|
if [[ -d $HOME/.tmux/plugins/tpm ]]; then
|
|
info "tpm already installed"
|
|
return
|
|
fi
|
|
info "Installing tmux plugin manager..."
|
|
git clone --depth 1 https://github.com/tmux-plugins/tpm \
|
|
"$HOME/.tmux/plugins/tpm" || warn "tpm clone failed"
|
|
}
|
|
|
|
install_all_extras() {
|
|
install_nvm
|
|
install_tpm
|
|
}
|