Configure shell initialization files so nvm loads correctly in bash, zsh, and fish. Covers NVM_DIR, nvm.sh sourcing, profile file selection, XDG_CONFIG_HOME, and bash completion. Use when the user reports nvm not found after installation, needs to configure shell profiles, or wants to set up nvm environment variables.
Install to Claude Code
npx -y skills add partme-ai/full-stack-skills --skill nvm-setup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Nvm Setup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/partme-ai-nvm-setup)More formats (shields.io, HTML) on the badges page.
---
name: nvm-setup
description: "Configure shell initialization files so nvm loads correctly in bash, zsh, and fish. Covers NVM_DIR, nvm.sh sourcing, profile file selection, XDG_CONFIG_HOME, and bash completion. Use when the user reports nvm not found after installation, needs to configure shell profiles, or wants to set up nvm environment variables."
license: Complete terms in LICENSE.txt
---
# nvm Shell Setup
Configure shell profiles so nvm loads automatically on every new terminal session.
## Workflow
1. **Identify the shell and profile file:**
- bash: `~/.bashrc` (or `~/.bash_profile` on macOS)
- zsh: `~/.zshrc`
- fish: `~/.config/fish/config.fish`
- With XDG_CONFIG_HOME: `$XDG_CONFIG_HOME/bash/bashrc` etc.
2. **Add nvm initialization** to the correct profile:
```bash
# Required lines for bash/zsh:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
```
3. **Optional: Load nvm without switching versions** (faster shell startup):
```bash
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" --no-use
```
4. **Verify nvm loads** in a new shell:
```bash
# Open a new terminal, then:
command -v nvm # Should print "nvm"
nvm --version # Should print version number
```
**Notes:**
- XDG_CONFIG_HOME changes the expected profile path.
- Use `--no-use` when you only want nvm loaded without switching versions.
- For installation, use the nvm-install skill. For version usage, use nvm-usage-basics.
### Example file map
- `templates/shell-config.md` - Profile configuration templates
- `examples/environment-variables.md` - Environment variable reference
- `examples/bash-completion.md` - Bash completion setup
- `examples/bash-completion-usage.md` - Completion usage examples
## Keywords
nvm setup, NVM_DIR, nvm.sh, profile, bash, zsh, fish, XDG_CONFIG_HOME, shell init
Scanned 5/27/2026
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!