Run this script on powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Better to follow this guide https://docs.microsoft.com/en-us/windows/wsl/install-win10 and make sure to use wsl 2. That will further help in vscode integration. This VS Code extension will be useful- "Remote - WSL" https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
Restart your machine.
Open Microsoft Store App, search for a disto and install it. I went with Ubuntu 20.04
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install zsh
zsh
Proceed with the basic configuration of zsh
If you have an existing .zshrc .profile .bashrc which you want to use then go to c:/Users/{name}/AppData/Local/Packages/{disto name}/LocalState/rootfs/home/{name}
and then update those files and restart your terminal.
Adding github ssh keys to .profile so that I don't have to enter credentials everytime on push
I usually set all the default starting script in the .profile file and then source it in .zshrc
source ~/.profile
eval $(ssh-agent)
ssh-add ~/.ssh/githu
Make sure that only owner has the read permission to this file. set chmod 400 to the private public key files
sudo apt-get install curl
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
You can also play around with the plugins available for zsh
Go to user settings.
Currently I was having bash installed
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
So replaced this with
"terminal.integrated.shell.windows": "C:\\Users\\ayush.sharma\\AppData\\Local\\Microsoft\\WindowsApps\\ubuntu.exe",
Node for windows is fine but you will need to install it for your disto as well.
sudo apt-get install build-essential
export NVM_DIR="$HOME/.nvm" && (
git clone https://github.com/nvm-sh/nvm.git "$NVM_DIR"
cd "$NVM_DIR"
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
) && \. "$NVM_DIR/nvm.sh"
Need to add this in the .profile or .zshrc wherever you are keeping the default startup commands
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
You may also look at nvm docs for installation instructions.
- Ayush 🙂