Skip to content

RafaelMoreira1180778/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Modern ZSH Configuration

Zsh Starship FZF Zoxide Homebrew Direnv Python UV AWS Kubernetes License

99% vibe coded, as all things should be

macOS-first dotfiles for developers who value speed and simplicity. Fast Zsh setup with modular configs, Starship prompt, FZF, and smart navigation.

🚀 What You Get

Blazing Fast: No plugin manager overhead, single-file .zshrc with brew-based tools Smart Completion: Brew completions for all tools, context-aware suggestions Beautiful Prompt: Starship prompt with git integration and instant feedback Fuzzy Everything: FZF for files, history, and directory navigation Smart Navigation: Zoxide learns your patterns, auto-cd to frequently visited directories Developer Ready: Python (UV), Docker, Kubernetes, AWS CLI pre-configured Auto Python venv: Automatically activates .venv or venv when entering project directories Massive History: 50,000 commands with deduplication

📋 What You Need

  • macOS (tested on Ventura+)
  • Terminal emulator (iTerm2, Terminal.app, or any modern terminal)
  • Homebrew installed

🛠️ Quick Setup

# Clone and navigate
git clone https://github.com/RafaelMoreira1180778/dotfiles.git ~/.dotfiles
cd ~/.dotfiles

# Run setup (installs dependencies and generates completions)
./setup.sh

# Reload shell
source ~/.zshrc

That's it! 🎉

⚙️ Structure

~/.dotfiles/
├── setup.sh              # Automated setup script
├── .zshenv               # Environment setup (runs first, always loaded)
├── .zprofile             # Login shell PATH fixes (after macOS path_helper)
├── .zshrc                # All-in-one interactive shell configuration
├── local.zshenv          # Machine-specific environment (gitignored)
├── zsh/
│   └── local.zsh         # Machine-specific interactive config (gitignored)
├── starship/
│   └── starship.toml     # Starship prompt configuration
└── ~/.zsh_history        # Shell history (50,000 commands)

What's in .zshrc (consolidated single file):

  • Environment variables (EDITOR, AWS, Python, etc.)
  • History configuration (50K commands, deduplication)
  • Shell options (auto-cd, globbing, completion)
  • Completion system (Homebrew, case-insensitive)
  • Aliases (eza, bat, safety aliases)
  • Tool initialization (Starship, Zoxide, Direnv, FZF, mise)
  • Python venv auto-activation
  • Sources zsh/local.zsh for machine-specific overrides

Startup order (login shell):

  1. /etc/zshenv (system)
  2. ~/.zshenv → Sets minimal PATH, sources local.zshenv
  3. /etc/zprofile → macOS path_helper reorders PATH
  4. ~/.zprofile → Fixes PATH order
  5. ~/.zshrc → All interactive config, sources zsh/local.zsh

⌨️ Key Bindings

Binding Action
Ctrl+R FZF history search
Ctrl+T FZF file finder with preview
Alt+C FZF directory navigation

🎨 Customization

Machine-Specific Environment (local.zshenv)

Create ~/.dotfiles/local.zshenv for machine-specific environment variables and PATH:

# Example: LaTeX/Perl configuration
export PATH="/opt/homebrew/opt/perl/bin:/Library/TeX/texbin:$PATH"
unset PERL5LIB

# Example: Custom AWS region
export AWS_DEFAULT_REGION="us-east-1"

# Example: RVM
export PATH="$PATH:$HOME/.rvm/bin"

Important: local.zshenv runs for ALL shells (including VSCode extensions, LaTeX Workshop). Only use environment variables and PATH here.

Machine-Specific Interactive Config (zsh/local.zsh)

Create ~/.dotfiles/zsh/local.zsh for aliases, functions, and interactive features:

# Example: Custom aliases
alias kubectl="kubecolor"
alias k="kubecolor"

# Example: Override editor
export EDITOR="vim"

Important: local.zsh only runs for interactive shells (iTerm2, Terminal.app). Not loaded by VSCode extensions.

🛠️ Available Features

Python Virtual Environments

  • Auto-activates .venv or venv when entering project directories
  • Auto-deactivates when leaving project directories
  • No manual activation needed

Modern Command Replacements

ls → eza          # Modern ls with git integration
cat → bat         # Cat with syntax highlighting
cd → zoxide       # Smart directory navigation

FZF Integration

  • Ctrl+R - Search command history
  • Ctrl+T - Find files
  • Alt+C - Navigate directories

📚 Built With

  • Starship - Cross-shell prompt with git integration
  • FZF - Command-line fuzzy finder
  • Zoxide - Smarter cd command
  • Eza - Modern ls replacement
  • Bat - Cat with syntax highlighting
  • Direnv - Environment switcher for the shell
  • UV - Fast Python package manager
  • Mise - Universal version manager

📋 License

MIT License - See LICENSE for details.


Made with ☕ and ✨ for developers who care about their terminal

About

⚡️ macOS-first dotfiles for developers. Fast Zsh setup with modular configs, Starship prompt, FZF, and smart navigation. Optimized for Python, Docker, and Git.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages