My dotfiles
Feel free to use and adapt as needed.
A custom zsh config, including a personalised theme with plugin support and an async git status.
The shell loads in 29 ms (Intel iMac with SSD).
Benchmark results measured using zsh-bench
Shell responsiveness is achieved by deferring plugins and lazy loading functions via fpath.
The plugin code is adapted from zsh_unplugged
Included plugins:
zsh-defer
ohmyzsh git
zsh-thefuck
zsh-notify
fast-syntax-highlighting
zsh-autosuggestions
The following prompt features can be enabled in the zshrc. To enable a feature set the variable to 'y' or as described.
Option | Description |
---|---|
PROMPT_CONTEXT | y: User@Host u: User o: Other user r: Remote context |
PROMPT_CLOCK | Prompt clock - y: 24H clock 12: 12H clock |
PROMPT_HISTLINE | Prompt history line number |
PROMPT_BOLD | Bold prompt |
PROMPT_PREFIX | Prompt section prefixes |
PROMPT_ICONS | Prompt glyph icons |
PROMPT_OS | Show OS icon - Arch, BSD, Linux, macOS |
PROMPT_NEWLINE | Show a new line after the prompt |
PROMPT_TRANSIENT | Transient prompt - Trim previous prompts |
PROMPT_TRANSIENTOPT | Opts: newline, clock, hist |
PROMPT_DIR | Dir opts - trim: Trim pwd path c: Current dir y: Full path |
PROMPT_DIRRESUME | Resume last dir from dirstack at login |
PROMPT_DIRLOCK | Prompt dir lock icon for unwriteable folders |
PROMPT_DIRCOLOR | Dir color - Use 'default' for stock color |
PROMPT_CHAR | Custom prompt character |
PROMPT_CHARCOL | Custom prompt character color |
PROMPT_DOCKER | Docker module |
PROMPT_GITVCS | Git vcs async module |
PROMPT_VENV | Python virtualenv |
PROMPT_TITLES | Prompt theme tab titles |
PROMPT_CLOCKTICK | Ticking clock (minor bugs) |
PROMPT_CLOCKEXE | Refresh clock after command (use without ticking clock) |
PROMPT_EXIT | Prompt error color |
PROMPT_EXITRESET | Async timer to reset prompt error color after 5s |
PROMPT_MOTD | Message of the day at login |
PROMPT_MOTDOPT | Opts: help, (neo/fast)fetch, hostinfo, greeting, quote, todo |
PROMPT_BOTTOM | Set the prompt at the bottom of the Terminal |
PROMPT_COMPILE | Compile zsh config files and compdump for fast load |
PROMPT_ZHELP=xman | Use Apple x-man-page - macOS only |
RPROMPT_OFF | Switch off right prompt |
RPROMPT_CLOCK | Right prompt clock |
RPROMPT_CMDTIME | Right prompt command time |
RPROMPT_HISTLINE | Right prompt history line number |
RPROMPT_DOCKER | Right prompt docker module |
RPROMPT_GITVCS | Right prompt git vcs module |
RPROMPT_JOBS | Right prompt background job status |
RPROMPT_EXITCODE | Right prompt exit code |
RPROMPT_EXITSIG | Right prompt exit signal |
My Homebrew packages and casks.
My Hammerspoon config, which includes app activation shortcuts, caffeinate and SpoonInstall.
My Karabiner config.
Some of my shell scripts including a Homebrew environment backup/restore and disk cloner.