Zsh Usage

oh-my-zsh

Installation

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Theme

powerlevel10k

Plugins

Oh My Zsh Plugins

Plugin Manager

antigen

.zshrc

######################## Powerlevel10k ########################
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh


######################## Antigen ########################

source /opt/homebrew/share/antigen/antigen.zsh
source $HOMEBREW_PREFIX/opt/chruby/share/chruby/chruby.sh

# Load the oh-my-zsh's library.
antigen use oh-my-zsh

# Bundles from the default repo (robbyrussell's oh-my-zsh)
antigen bundle colored-man-pages
antigen bundle extract
antigen bundle history
antigen bundle z
antigen bundle git
antigen bundle npm
antigen bundle gem
antigen bundle python
antigen bundle brew
antigen bundle osx
antigen bundle pod

# Syntax highlighting bundle.
antigen bundle zsh-users/zsh-syntax-highlighting

# Fish-like auto suggestions
antigen bundle zsh-users/zsh-autosuggestions

# Additional completion definitions for Zsh.
antigen bundle zsh-users/zsh-completions

# Load the theme.
antigen theme romkatv/powerlevel10k

# Tell Antigen that you're done.
antigen apply

######################## User Configuration ########################

# list
alias ls='ls -hFG'
alias tree='tree -C -I node_modules'
alias l='exa -aghlF --git --icons'
alias ltree='exa -ghlFT --git -I=node_modules'

# ncdu
alias ncdu="ncdu --color dark -r -x"
alias ncdu-exclude="ncdu --color dark -r -x --exclude .git --exclude node_modules"

# rlwrap
alias sml='rlwrap sml'

# Standard ML of New Jersey
export PATH=/usr/local/smlnj/bin:"$PATH"