Skip to content
/ dotfiles Public

A blazing fast, maintainable, and feature-rich zsh configuration built for developers.

Notifications You must be signed in to change notification settings

f0rr0/dotfiles

Repository files navigation

🚀 Modern Zsh Configuration

A blazing fast, maintainable, and feature-rich zsh configuration built for developers.

Terminal Preview

🏗️ Architecture

ZDOTDIR Structure

This configuration uses zsh's ZDOTDIR mechanism to keep everything organized in ~/.zshrc.d/:

  1. .zshenv sets ZDOTDIR="$HOME/.zshrc.d"
  2. Zsh automatically finds .zshrc inside $ZDOTDIR
  3. .zshrc loads all numbered files in lexicographic order

Numbered File System

Files are loaded in lexicographic order by the main .zshrc loader:

  • 00-09: Environment setup (variables, PATH)
  • 10-19: Core Zsh configuration (options, keybindings, tools)
  • 20-29: Completions and interactive features
  • 30-39: Plugin management and external integrations
  • 50-59: UI/UX (prompt, themes)
  • 60-69: User convenience (aliases, functions)
  • 70-79: Local/machine-specific overrides

💡 Tip: Prefix a file with _ to disable it (e.g., _30-antidote.zsh)

Config Directory

The configs/ directory contains external tool configurations.

📋 Requirements

Homebrew (Required)

This configuration requires Homebrew for package management:

# macOS
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Supported Platforms

  • macOS (Apple Silicon & Intel)
  • Linux (not tested)
  • ❌ Windows (not tested)

⚡ Quick Start

1. Clone Repository

git clone git@github.com:f0rr0/dotfiles.git ~/.zshrc.d
cd ~/.zshrc.d

2. Run Bootstrap Script

The bootstrap script handles everything automatically:

./scripts/bootstrap.sh

What it does:

  • ✅ Verifies Homebrew installation
  • ✅ Installs all required packages
  • ✅ Symlinks ~/.zshenv~/.zshrc.d/.zshenv
  • ✅ Backs up existing ~/.zshenv if needed

3. Reload Shell

exec zsh -l

🛠️ Key Tools & Configurations

🔌 Antidote (Plugin Manager)

Ultra-fast plugin manager that generates static loading scripts for maximum performance.

📖 Learn more about Antidote

🔄 Mise (Version Manager)

Modern alternative to nvm, rbenv, pyenv - manage Node.js, Python, Ruby, and 100+ other tools.

📖 Learn more about Mise

🔍 FZF (Fuzzy Finder)

Command-line fuzzy finder with extensive customization for file navigation, history search and autocompletions.

📖 Learn more about FZF

🏃 Zoxide (Smart CD)

Smarter cd command that learns your habits and lets you jump to directories with minimal typing.

📖 Learn more about Zoxide

🖥️ iTerm2 Integration (Optional)

📖 Learn more about iTerm2 Shell Integration

🎨 Customization

Local Overrides

Create 70-local.zsh (git-ignored) for machine-specific customizations:

# ~/.zshrc.d/70-local.zsh
export EDITOR="code"
alias ll="eza -la --git --icons"

# Add work-specific PATH
path=(/opt/work/bin $path)

📦 Installed Packages

The bootstrap script installs these packages via Homebrew:

Modern CLI Replacements:

  • eza - Better ls
  • bat - Better cat
  • ripgrep - Better grep
  • fd - Better find
  • delta - Better git diff
  • dust - Better du
  • procs - Better ps

About

A blazing fast, maintainable, and feature-rich zsh configuration built for developers.

Topics

Resources

Stars

Watchers

Forks

Languages