Skip to content

Instantly share code, notes, and snippets.

@aviaryan
Last active February 9, 2024 03:22
Show Gist options
  • Save aviaryan/5a57aa25b140f6c48f0e to your computer and use it in GitHub Desktop.
Save aviaryan/5a57aa25b140f6c48f0e to your computer and use it in GitHub Desktop.
Installing zsh and oh-my-zsh on Windows
  1. Install zsh from cygwin
  2. Install oh-my-zsh from https://github.com/robbyrussell/oh-my-zsh . Follow the manual instructions
  3. To make zsh default on ConEmu, create a task with C:\cygwin64\bin\mintty.exe /usr/bin/zsh - . Make it the defaut shell.
  4. To start a zsh shell on demand, add this batch script to your path or start menu or wherever.
start C:\cygwin64\bin\mintty.exe /usr/bin/zsh -
@jacobrayschwartz
Copy link

jacobrayschwartz commented Aug 21, 2017

@rlabrecque There is also the issue of enterprise companies/machines. Many companies are still on Windows 7, so Windows Subsystem for Linux is not available for folks using those machines.

@vallamost
Copy link

vallamost commented Aug 25, 2017

This is what you actually want:

https://evdokimovm.github.io/windows/zsh/shell/syntax/highlighting/ohmyzsh/hyper/terminal/2017/02/24/how-to-install-zsh-and-oh-my-zsh-on-windows-10.html

Following up this awesome guide, here's how you can invoke native Windows apps from the bash shell running in the WSL -
https://msdn.microsoft.com/en-us/commandline/wsl/release_notes#build-14951

Now you can build your favorite aliases

@lski
Copy link

lski commented Sep 15, 2017

As an alternative to adding "/usr/bin/zsh" to the command line, you can add the following to the end of your ~/.bashrc file. So it would apply to all environments that use that .bashrc, not just mintty, like ConEmu etc, but only needing to do it in one place.

# Launch Zsh 
if [ -t 1 ]; then 
exec zsh 
fi

I use this method with WSL (Bash on Windows) after installed oh-my-zsh on that too.

The command line option is great for people using just mintty, so I'm not saying that is the wrong way, this is just an alternative :)

@nea89o
Copy link

nea89o commented Sep 18, 2017

@ronaiza-cardoso try relaunching the cygwin setup and selecting the zsh package if it asks you for which packages to install.. if you let the install dirs point to the current installation it only updates those packages...

@jef
Copy link

jef commented Nov 29, 2017

# Launch Zsh 
if [ -t 1 ]; then 
  exec zsh 
fi

this worked. thanks @lski!

@bytefluxio
Copy link

@jacobrayschwartz:

enterprise companies/machines. Many companies are still on Windows 7
It's not even available for Windows 10 Enterprise LTS

@ufosaga
Copy link

ufosaga commented Jan 10, 2019

cygwin_zsh

run mkpasswd -l /etc/passwd to generate the passwd config.
then modify the default shell to zsh for the specified user.
have fun.

@HaroldBrenesH
Copy link

we need up it to chocolatery

@elucidsoft
Copy link

I really freaking hate how awful the terminal stuff is on Windows. This is a perfect example...

@bohdanmykytey
Copy link

use Ubuntu - it's free

@retsi101
Copy link

It's amazing, I tried running the command:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

But it deletes Mintty.

What should be done?

@NileshMS
Copy link

NileshMS commented Feb 5, 2023

Mintty throwing below message prompt. how can I stop this annoying prompt? its happening when I am closing git bash.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment