Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save SteveDevOps/88486b0f9ecbb5b45dfcf9ffee9c2848 to your computer and use it in GitHub Desktop.
Save SteveDevOps/88486b0f9ecbb5b45dfcf9ffee9c2848 to your computer and use it in GitHub Desktop.
Zsh / Oh-my-zsh on Windows Git Bash

Steps:

  1. Download the latest zsh package: https://packages.msys2.org/package/zsh?repo=msys&variant=x86_64

Example:

zsh-5.7.1-1-x86_64.pkg.tar.xz

Update:

The package now is compacted using zstd, so now we need some "special" extractor.
So, in my case, I've downloaded this file
https://repo.msys2.org/msys/x86_64/zsh-5.8-5-x86_64.pkg.tar.zst And extracted it using the Peazip.
https://peazip.github.io/zst-compressed-file-format.html

  1. Extract the content to your git bash installation dir:

Usually C:\Program Files\Git

  1. Test it and config zsh:

Open git bash and type:

zsh

So, this step is important, it seems zsh will ask a few configurations, like the tab completion, history, etc.
Please read the options and set that according to your use.

  1. Installing oh-my-zsh, execute the following cmd on git bash
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  1. Configuring zsh as default shell

Edit the ~/.bashrc file. (create it if it doesn't exist)

Add the following lines at the end of the file

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

Close and open again the git bash.

Optional steps

  1. Installing the Honukay theme
curl -fsSL https://raw.githubusercontent.com/oskarkrawczyk/honukai-iterm/master/honukai.zsh-theme -o ~/.oh-my-zsh/custom/themes/honukai.zsh-theme
  1. Set it
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="honukai"/g' ~/.zshrc
@SteveDevOps
Copy link
Author

@SteveDevOps
Copy link
Author

added starship prompt to mine as well. Took steps here and moved init to .zshrc:
https://gist.github.com/SteveDevOps/b1f901dbc2128a378ff79d73ad3a59cc

@SteveDevOps
Copy link
Author

SteveDevOps commented Sep 12, 2024

.zshrc fixes:

#bindkeys
bindkey '\e[H'  beginning-of-line
bindkey '\e[F'  end-of-line
bindkey '\e[3~' delete-char

@SteveDevOps
Copy link
Author

SteveDevOps commented Feb 12, 2025

was using tabby as a dedicated git bash term.. moved to regular windows terminal and loaded as a new profile there with this as a set of base instructs: https://stackoverflow.com/questions/56839307/adding-git-bash-to-the-new-windows-terminal

my tweaks:

{
                "closeOnExit": "graceful",
                "colorScheme": "Campbell",
                "commandline": "C:/Program Files/Git/bin/bash.exe --login",
                "cursorColor": "#FFFFFF",
                "cursorShape": "bar",
                "font": 
                {
                    "builtinGlyphs": false,
                    "face": "FiraCode Nerd Font Mono",
                    "size": 12
                },
                "guid": "{14ad203f-52cc-4110-90d6-d96e0f41b64d}",
                "historySize": 9001,
                "icon": "ms-appdata:///roaming/git-bash_32px.ico",
                "name": "Git Bash",
                "opacity": 75,
                "padding": "0, 0, 0, 0",
                "snapOnInput": true,
                "tabTitle": "Git Bash",
                "useAcrylic": true
            },

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