A blazingly fast, modern development environment built from scratch with performance and developer experience in mind.
- Speed First: Shell loads in <50ms, every tool optimized for performance
- Modern Tools: Rust-based replacements, GPU-accelerated terminal, async everything
- Zero Conflicts: Carefully designed keybindings across all layers
- Beautiful: Catppuccin Macchiato theme everywhere
- Productive: AI assistance, smart navigation, fuzzy everything
| Category | Tool | Why |
|---|---|---|
| Shell | Zsh + Antidote | Fast plugin manager, no OMZ bloat |
| Prompt | Starship | Rust-based, 5-10ms overhead |
| History | Atuin | SQLite-based, searchable, sync-able |
| Terminal | Ghostty | Modern, GPU-accelerated, Zig-based |
| Multiplexer | Zellij | Rust-based, better UX than tmux |
| Editor | Neovim + LazyVim | Fast, extensible, modern plugins |
| Versions | Mise | Rust-based asdf replacement |
| Git UI | Lazygit | Fast TUI for git operations |
| Git Diff | Delta | Beautiful syntax-highlighted diffs |
| Theme | Catppuccin Macchiato | Consistent across all tools |
- β‘ <50ms startup time (vs 200ms+ with Oh My Zsh)
- π Atuin history - Full-text search, statistics, optional sync
- π Starship prompt - Shows git status, language versions, execution time
- π Modern CLI tools: eza, bat, fd, ripgrep, zoxide, and more
- π¦ Smart completions - fzf-tab for fuzzy tab completion
- π₯οΈ Ghostty - Latest terminal tech, GPU-accelerated
- π§© Zellij - Modern multiplexer with Alt-key bindings (no conflicts!)
- π¨ Catppuccin theme - Beautiful, easy on the eyes
- π Harpoon - Lightning-fast file bookmarking
- β‘ Flash.nvim - Jump anywhere with 2-3 keystrokes
- π¨ Conform.nvim - Modern async formatting
- π§ Enhanced LSP - Full IDE features, fast
- π Trouble - Better diagnostics and quickfix
- π¨ Delta - Beautiful side-by-side diffs with syntax highlighting
- π― Lazygit - Full-featured TUI for complex operations
- π Gitsigns - Inline git status, hunk operations
- π Diffview - Advanced diff and merge tool
# Clone with submodules
git clone --recurse-submodules https://github.com/YOUR_USERNAME/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Run full setup
sh ./scripts/install.shThe installer will:
- Install Homebrew and all tools
- Interactively stow configurations
- Optionally install language tools
- Set up everything automatically
# Update tools
sh ./scripts/brew.sh
# Stow specific configs
stow -t ~/. zsh
stow -t ~/. nvim
stow -t ~/. git
stow -t ~/. starship
stow -t ~/. atuin
stow -t ~/. ghostty
stow -t ~/. zellijdotfiles/
βββ atuin/ # Modern shell history
βββ git/ # Git config with delta
βββ ghostty/ # Terminal configuration
βββ nvim/ # Neovim + LazyVim
βββ scripts/ # Installation scripts
β βββ brew.sh # All tools installation
β βββ install.sh # Main installer
β βββ stow.sh # Interactive stow
β βββ langs.sh # Language tools
β βββ cleanup.sh # Uninstall script
βββ starship/ # Prompt configuration
βββ tmux/ # Tmux (optional)
βββ zellij/ # Zellij multiplexer
βββ zsh/ # Zsh with Antidote
βββ .zshrc # Main config
βββ .zsh_plugins.txt # Plugin list
No conflicts by design! Each tool uses distinct modifier keys:
- Ghostty:
Cmd(macOS) for terminal operations - Zellij:
Alt(Option) exclusively for multiplexer - Neovim:
Spaceleader +Ctrlcombinations
See KEYBINDINGS.md for complete reference.
Zellij (Multiplexer)
Alt+Pβ Pane modeAlt+Tβ Tab modeAlt+H/J/K/Lβ Navigate panesAlt+Nβ New pane
Neovim (Editor)
Spaceβ Leader keyCtrl+H/J/K/Lβ Navigate windows<leader>ffβ Find files<leader>aβ Add to Harpoonsβ Flash jump
Shell
Ctrl+Rβ Search history (Atuin)Ctrl+Tβ Find files (fzf)
All Rust-based for maximum performance:
ls β eza # Better ls with git integration
cat β bat # Syntax highlighting
find β fd # Simpler, faster
grep β ripgrep # Faster, smarter
cd β zoxide # Smart cd with frecency
top β bottom # Better system monitor
du β dust # Visual disk usage
df β duf # Colorful disk free
sed β sd # Simpler syntax# Shell startup
zsh-bench # Should be <50ms
# Neovim startup
nvim --startuptime /tmp/nvim-startup.log +q && cat /tmp/nvim-startup.log-
Restart your shell
exec zsh -
Configure Git
git config --global user.name "Your Name" git config --global user.email "your@email.com"
-
Open Neovim - Plugins install automatically
nvim
-
Try Zellij
zellij # or alias: z -
Set up Atuin (optional sync)
atuin register atuin sync
# Install Node.js
mise install node@20
mise use -g node@20
# Install Python
mise install python@3.12
mise use -g python@3.12
# Install Go
mise install go@latest
mise use -g go@latest
# List installed
mise ls
# List available versions
mise ls-remote nodeAll tools use Catppuccin Macchiato. To change:
- Ghostty: Edit
ghostty/.config/ghostty/config - Zellij: Edit
zellij/.config/zellij/config.kdl - Neovim: Edit
nvim/.config/nvim/lua/plugins/theme.lua - Starship: Edit
starship/.config/starship.toml
Zsh: Edit zsh/.zsh_plugins.txt
Neovim: Add files to nvim/.config/nvim/lua/plugins/
Edit zsh/.zshrc - look for the "Aliases" section.
To remove dotfiles configurations:
# Run cleanup script
sh ./scripts/cleanup.shThe cleanup script will:
- Unstow all configurations (interactive)
- Remove cache files and generated data
- Optionally uninstall Homebrew packages
- Clean up shell and editor state
Note: This is interactive and safe - you'll be prompted for each step.
# Regenerate plugin bundle
antidote bundle < ~/.zsh_plugins.txt > ~/.zsh_plugins.zsh# Enable profiling in .zshrc
zmodload zsh/zprof
# ... (at end of .zshrc)
zprof# In Neovim
:Lazy sync
:checkhealth# Check if starship is in PATH
which starship
# Reinstall
brew reinstall starship- OMZ adds 100-200ms to shell startup
- Antidote loads plugins in parallel, much faster
- Manual configuration gives you full control
- Written in Rust (asdf is bash - slow)
- Drop-in replacement, same commands
- Faster tool installation and switching
- More intuitive UI and keybindings
- Better defaults
- Written in Rust, actively developed
- No conflicts with Neovim by using Alt keys
- All Rust-based: faster, safer, better UX
- eza, bat, fd, rg, zoxide, delta - all provide better output and performance
- But kept compatible (aliases maintain familiar commands)
- β Zsh startup: <50ms
- β Neovim startup: <100ms
- β Starship prompt: <10ms
- β All tools: Instant response
Built on the shoulders of giants:
- LazyVim
- Starship
- Atuin
- Catppuccin
- All the amazing Rust CLI tools
MIT - Feel free to use and modify!