Skip to content

Latest commit

Β 

History

History
105 lines (69 loc) Β· 2.8 KB

File metadata and controls

105 lines (69 loc) Β· 2.8 KB

⚑ ephur's Zsh Configuration

Zsh Config Tests

A highly optimized, purpose-built Zsh configuration focused on startup speed, modular organization, and a clean, reproducible shell experience across multiple platforms (macOS, WSL, Linux distros).


πŸš€ Features

  • 🧠 Sub-150ms startup time (measured consistently with benchmarking)
  • πŸ”Œ Antidote plugin manager (compiled + cached for maximum speed)
  • πŸ“¦ Modular includes/ directory structure
    • Early/late phase loading for ordered control
    • Hooks and custom completions
  • 🐍 full, but optimized pyenv + goenv support (deferred loading for performance)
  • 🧭 zoxide, fzf, for a great UX
  • 🧼 Automatic .zwc compilation and caching of everything
  • πŸ§ͺ Easy benchmarking with benchzshy.sh and zsh_profile.py
  • πŸ’» Works across macOS, WSL, any Linux distro I've tried
  • πŸ”’ Private secrets.zsh support
  • πŸ›  Easy setup with only git and antitode required
  • ⚑️ Lightning fast PowerLevel 10k prompt with no slowdowns from plugins

πŸ›  Setup

cd ${HOME}
git clone https://github.com/ephur/zshrc.git .zsh
ln -s .zsh/zshrc .zshrc

🧩 Plugin Management

Powered by Antidote:

  • All plugins listed in antidote_plugins_darwin.txt or antidote_plugins_linux.txt
  • Precompiled via update_zsh_plugins function
  • No runtime antidote load, just direct cache sourcing

πŸ§ͺ Benchmarking

Run this to benchmark shell startup:

time zsh -i --login -c echo

You should see results well below 150ms real time.


πŸ” Secrets

To include private content (tokens, keys, aliases):

Create a file at:

~/.zsh/secrets.zsh

This is sourced if present, but not included in the repo.

🫣 Not secrets, but not commitable

To include extra functions you can't commit, or are bespoke to your environment, create a file at:

~/.zsh/work.zsh

This is sourced after secrets.zsh and can contain any customizations you need. This file is also not included in the repo.


πŸ“‚ Structure

  • includes/init.zsh β€” core functions and setup
  • includes/early_*.zsh β€” sourced before completions
  • includes/late_*.zsh β€” sourced after completion setup
  • cache/ β€” holds precompiled and generated artifacts

πŸ“– Quick Reference

For a complete list of available functions, aliases, and commands, see the CHEATSHEET.md or run:

zhelp           # Display full cheatsheet
zhelp git       # Show git functions only
zhelp aws       # Show AWS functions only

🧠 Philosophy

Fast. Modular. Predictable. Built for terminal-first productivity.