DEV Community

Joel Lau
Joel Lau

Posted on Edited on

zsh on windows

End Goal

To build a terminal environment with:

  • MSYS2
  • Windows Terminal
  • Winget
  • Zsh
  • Oh My Zsh
  • Zsh Theme Of Choice: PowerLevel10k

Instructions

Install Windows Terminal and MSYS2 using CMD or PowerShell:



winget install Microsoft.WindowsTerminal ;
winget install MSYS2.MSYS2 ;


Enter fullscreen mode Exit fullscreen mode

Open MSYS2 from windows search bar and start installing from there:

Image description



# Install git and ZSH
pacman -S git zsh ;

# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ;

# Generate ~/.zshrc
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc ;


Enter fullscreen mode Exit fullscreen mode

Create MSYS2 Profile for Windows Terminal (use zsh):

  1. Open the Windows Terminal App
  2. Open the Settings Pane (CTRL + .)
  3. Click on Open JSON
  4. Add this item to profiles.list and change profiles.default to the same guid ({71160544-14d8-4194-af25-d05feeac7233})


{
  "commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -msys -use-full-path -shell zsh",
  "elevate": true,
  "guid": "{71160544-14d8-4194-af25-d05feeac7233}",
  "icon": "C:/msys64/msys2.ico",
  "name": "MSYS / MSYS2",
  "startingDirectory": "C:/msys64/home/%USERNAME%"
}


Enter fullscreen mode Exit fullscreen mode

Restart Windows Terminal and you should be able to see Zsh running.

Install ZSH Plugins



# Install Theme: Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

# Syntax Highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# Autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions


Enter fullscreen mode Exit fullscreen mode

In your ~/.zshrc, look for a line that says ZSH_THEME and change it to



ZSH_THEME="powerlevel10k/powerlevel10k"


Enter fullscreen mode Exit fullscreen mode

In the same file, also modify the list of plugins: (ignore ssh-agent and gpg-agent if you haven't set up git)



plugins=( 
    git
    ssh-agent
    gpg-agent
    zsh-syntax-highlighting
    zsh-autosuggestions
)


Enter fullscreen mode Exit fullscreen mode

Restart Windows Terminal for the final time and you should be brought to a powerlevel10k's wizard :)

References

EDIT: added suggestions from James 'Dante' Midzi's comments

Top comments (2)

Collapse
 
psypher1 profile image
James 'Dante' Midzi •

It would be cool if you mentioned where the first installation needs to be (command prompt, poweshell etx) and what administrator rights are required

Collapse
 
joellau profile image
Joel Lau •

thanks for the feedback!