zsh on windows
Joel Lau

Joel Lau @joellau

About: CRUD app extraordinaire

Location:
Singapore
Joined:
Oct 6, 2017

zsh on windows

Publish Date: Jun 12 '23
3 2

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

Comments 2 total

  • James 'Dante' Midzi
    James 'Dante' MidziJun 12, 2023

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

    • Joel Lau
      Joel LauJun 15, 2023

      thanks for the feedback!

Add comment