Personal dotfiles featuring an Agnoster-inspired Starship prompt with powerline arrows, modern CLI tools, and a beautiful terminal setup.
- Powerline aesthetics with colored segments and arrow separators
- Table flip emoticon
(╯°□°)╯︵ ┻━┻for maximum personality - Git status indicators with Agnoster symbols:
!modified files+staged files?untracked files✘deleted files⇡ahead of remote⇣behind remote
- Color scheme: Yellow table flip → Blue username → Emerald green directory → Hot pink git status
- Language version badges for Node.js, Python, Rust, Go
- eza - Modern
lsreplacement with icons and git integration - bat -
catwith syntax highlighting - fzf - Fuzzy finder for history and files
- zoxide - Smarter
cdcommand that learns your habits - Starship - Blazing fast, customizable prompt
- Fish-like autosuggestions - Command suggestions as you type
- Syntax highlighting - Real-time command validation
- Smart alias hints - Learn shortcuts as you work (optional)
- Curated alias library - Git, Docker, Kubernetes shortcuts
- Interactive CLI - Manage dotfiles with
dotfilescommand
- macOS (or Linux with Homebrew)
- Homebrew installed
- ZSH as your shell
# Clone the repo
git clone https://github.com/hoop71/dotfiles.git ~/dotfiles
# Run the install script
cd ~/dotfiles
./install.sh
# Restart your shell
exec zsh- Installs Homebrew packages: starship, fzf, zoxide, eza, bat
- Installs Nerd Font for icons and powerline symbols
- Clones ZSH plugins: autosuggestions, syntax-highlighting
- Creates symlinks for all config files:
~/.zshrc→~/dotfiles/zsh/zshrc~/.zshenv→~/dotfiles/zsh/zshenv~/.config/starship.toml→~/dotfiles/starship/starship.toml
- Backs up any existing configs to
~/dotfiles_backup_[timestamp] - Creates
~/.zshrc.localfor machine-specific configuration - Adds
bin/to PATH for thedotfilesCLI tool
The prompt uses these colors (defined in starship/starship.toml):
- Username:
#4A90E2(Medium Blue) - Directory:
#50C878(Emerald Green) - Git:
#FF69B4(Hot Pink)
To change colors, edit the hex values in starship/starship.toml.
Use ~/.zshrc.local for machine-specific settings like:
- Work-specific paths
- API tokens or secrets
- Custom aliases for that machine
- SSH keys
This file is gitignored and won't be tracked.
dotfiles/
├── README.md # You are here
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT License
├── CLAUDE.md # LLM assistant guide
├── install.sh # Automated setup script
├── bin/
│ └── dotfiles # Interactive CLI tool
├── starship/
│ └── starship.toml # Starship prompt config (Agnoster theme)
└── zsh/
├── zshrc # Main ZSH config
├── zshenv # Environment variables
├── alias-hints.zsh # Learning hints for aliases
└── aliases-library.zsh # Optional aliases to enable
The dotfiles command provides interactive management:
dotfiles check # Verify setup and diagnose issues
dotfiles aliases # Browse available aliases
dotfiles hint # Get a random productivity tip
dotfiles hints # Toggle learning hints on/off
dotfiles update # Pull latest changes
dotfiles benchmark # Test shell startup speednew- Create and checkout a new branchch- Checkout branchempty- Create empty commitgs,gd,ga,gc,gp,gl- Git shortcuts (opt-in via aliases-library.zsh)
..- Up one directory...- Up two directories....- Up three directories
ls→eza --iconsll→eza -l --icons --git(detailed list with git status)la→eza -la --icons --git(includes hidden files)lt→eza --tree --icons(tree view)cat→bat(syntax highlighting)
p- pnpmpi- pnpm installpb- pnpm buildpd- pnpm devpt- pnpm test
More aliases available: See zsh/aliases-library.zsh for Docker, Kubernetes, and utility aliases you can enable.
For the best experience with powerline arrows and icons, use a Nerd Font:
- MesloLGS NF (recommended)
- Fira Code Nerd Font
- JetBrains Mono Nerd Font
- Hack Nerd Font
Download from Nerd Fonts
Contributions welcome! See CONTRIBUTING.md for guidelines.
MIT License - See LICENSE for details.
See CHANGELOG.md for version history.
- Inspired by agnoster theme
- Built with Starship
- Uses modern CLI tools from the Rust ecosystem