Install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Add customizations into .zshrc
Add plugins: zsh-syntax-highlighting
, zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
add to plugins section in .zshrc
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
)
Optional: install power10k for better looking
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
And add following to .zshrc
source $ZSH_CUSTOM/themes/powerlevel10k/powerlevel10k.zsh-theme
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
Optional: install oh-my-posh for better looking
#macos
brew install jandedobbeleer/oh-my-posh/oh-my-posh
#linux (installed to ~/bin)
curl -s https://ohmyposh.dev/install.sh | bash -s -- -d ~/bin
Configure oh-my-posh theme
eval "$(oh-my-posh init zsh --config $(brew --prefix oh-my-posh)/themes/jandedobbeleer.omp.json)"
Theme I used
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"blocks": [
{
"alignment": "left",
"segments": [
{
"foreground": "#7eb8da",
"style": "plain",
"template": "\u250f[<#ffffff>\ueb99</> {{ .UserName }}@{{ .HostName }}]",
"type": "session"
},
{
"foreground": "#be9ddf",
"properties": {
"style": "dallas",
"threshold": 0
},
"style": "diamond",
"template": "[<#ffffff>\uf252</> {{ .FormattedMs }}s]",
"type": "executiontime"
},
{
"properties": {
"root_icon": "\uf292"
},
"style": "diamond",
"template": "\uf0e7",
"type": "root"
},
{
"foreground": "#be9ddf",
"style": "diamond",
"template": "[<#ffffff>\ue266</> RAM: {{ (div ((sub .PhysicalTotalMemory .PhysicalFreeMemory)|float64) 1073741824.0) }}/{{ (div .PhysicalTotalMemory 1073741824.0) }}GB]",
"type": "sysinfo"
},
{
"foreground": "#7eb8da",
"properties": {
"time_format": "Mon at 3:04:05 PM"
},
"style": "diamond",
"template": "[<#ffffff>\uf073 </>{{ .CurrentDate | date .Format }}]",
"type": "time"
},
{
"foreground": "#ffa5d8",
"properties": {
"fetch_stash_count": true,
"fetch_status": true,
"fetch_upstream_icon": true
},
"style": "plain",
"template": "[<#ffffff>{{ .UpstreamIcon }}</>{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} <#ffffff>\uf044</> {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} <#ffffff>\uf046</> {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} <#ffffff>\ueb4b</> {{ .StashCount }}{{ end }}]",
"type": "git"
},
{
"foreground": "#ffa5d8",
"style": "plain",
"template": "[{{ .Profile }}{{if .Region}}@{{ .Region }}{{ end }}]",
"type": "aws"
},
{
"foreground": "#ffa5d8",
"style": "plain",
"template": "[{{.Context}}{{if .Namespace}} :: {{.Namespace}}{{end}}]",
"type": "kubectl"
},
{
"foreground": "#ffa5d8",
"style": "plain",
"template": "[\uf0e7]",
"type": "root"
},
{
"foreground": "#ffa5d8",
"style": "powerline",
"template": "[<#ffffff>\uea6c</> Error, check your command]",
"type": "status"
}
],
"type": "prompt"
},
{
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "#7eb8da",
"properties": {
"style": "full"
},
"style": "plain",
"template": "\u2516[<#98bfad>{{ .Path }}</>]",
"type": "path"
}
],
"type": "prompt"
},
{
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "#7eb8da",
"style": "plain",
"template": "\u2514\u2500Δ",
"type": "text"
},
{
"type": "python",
"style": "diamond",
"foreground": "#7eb8da",
"template": "{{ if .Venv }} [<#ffffff>\uE235</> {{ .Venv }}{{ end }}]",
"properties": {
"fetch_virtual_env": true
}
}
],
"type": "prompt"
}
],
"final_space": true,
"version": 2
}
Finally, reload terminal or exec zsh
Fix conda
after install zsh
[miniconda3_location]/bin/conda init zsh