Skip to content

Instantly share code, notes, and snippets.

@CompewterTutor
Last active March 10, 2026 23:47
Show Gist options
  • Select an option

  • Save CompewterTutor/876c025ddf3c5f0a69bbecf0d8b01f62 to your computer and use it in GitHub Desktop.

Select an option

Save CompewterTutor/876c025ddf3c5f0a69bbecf0d8b01f62 to your computer and use it in GitHub Desktop.
WSL Onboarding

WSL Provisioning

install the keychain package to manage ssh keys

sudo apt install keychain -y

echo eval `keychain --eval --agents ssh id_rsa` >> ~/.bashrc

Install PyEnv dependencies

sudo apt update && sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev \
xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev git

Clone pyenv to the right place

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

add to your bashrc pyenv stuff

echo '' >> ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
## verify pyenv installation
pyenv --version

Install python 3.14

pyenv install 3.14.0
pyenv global 3.14.0

Installing nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

restart terminal or run this to apply changes right away:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

verify nvm installation

nvm --version

installing nodejs with nvm

nvm install --lts

set the default node version to the latest lts version

nvm alias default lts/*

verify node and npm installation

node --version
npm --version

install yarn

npm install --global yarn
#verify yarn installation
yarn --version

Create a directory for global packages

mkdir -p ~/.yarn-global

Configure Yarn to use this directory

yarn config set prefix ~/.yarn-global

Add to PATH in your shell configuration file

echo 'export PATH="$PATH:$HOME/.yarn-global/bin"' >> ~/.bashrc
source ~/.bashrc

verify everything

Check versions

echo "Node.js: $(node --version)"
echo "npm: $(npm --version)"
echo "Yarn: $(yarn --version)"
echo "NVM: $(nvm --version)"

Verify global package installation

npm install -g cowsay
cowsay "npm works!"

Yarn

yarn global add figlet
figlet "Yarn works!"

install claude code

curl -fsSL https://claude.ai/install.sh | bash

install playwright mcp server

claude plugin install playwright@claude-plugins-official

install puppeteer server

claude mcp add puppeteer-mcp-claude

Customizing your shell

Install Starship

curl -sS https://starship.rs/install.sh | sh

Then, add this to the end of your ~/.bashrc :

eval "$(starship init bash)"

Then if you want to setup this nice preset run this:

starship preset gruvbox-rainbow -o ~/.config/starship.toml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment