ADLee's Dotfiles
Personal configuration files and automation scripts for a powerful, consistent development environment across Linux/macOS systems.
Preview
┌[alee@hostname]─[~/.dotfiles]-[main *]
└%
Features
Custom Zsh Theme
- adlee.zsh-theme - A feature-rich, performant zsh theme
- Git branch/status integration with visual indicators
- Command execution timer (shows time for commands > 10s)
- Smart path truncation for long directories
- User/root detection (blue prompt for users, red for root)
- Clean, minimal design that's easy to read
Espanso Text Expansion
- 100+ pre-configured snippets using
..triggersyntax- Date/time stamps (UTC, local, ISO 8601)
- Git shortcuts (
..gst,..gco,..gcm) - Docker commands (
..dps,..dcup,..dlog) - Code templates (bash, python, markdown)
- System info (
..ip,..user,..branch) - Common typo corrections
- Personal information templates
Modern CLI Tools
- fzf - Fuzzy finder for files and history
- bat - Syntax-highlighted file viewer
- eza - Modern ls replacement with icons
- espanso - Universal text expander
Easy Deployment
- One-command installation on new systems
- Automated backups of existing configs
- System-wide theme deployment for all users
- Modular architecture for easy customization
📁 Repository Structure
dotfiles/
├── install.sh # Main installation script
├── README.md # This file
├── LICENSE # MIT License
├── .gitignore # Git ignore rules
│
├── zsh/
│ ├── .zshrc # Main zsh configuration
│ └── themes/
│ └── adlee.zsh-theme # Custom zsh theme
│
├── espanso/
│ ├── config/
│ │ └── default.yml # Espanso settings
│ └── match/
│ ├── base.yml # Base snippets (100+ triggers)
│ └── personal.yml # Personal info snippets
│
├── git/
│ ├── .gitconfig # Git configuration
│ └── .gitignore_global # Global gitignore patterns
│
├── vim/
│ └── .vimrc # Vim configuration
│
├── tmux/
│ └── .tmux.conf # Tmux configuration
│
├── bin/
│ ├── update-dotfiles.sh # Update from repo
│ ├── setup-espanso.sh # Espanso setup wizard
│ └── deploy-zshtheme-systemwide.sh # System-wide deployment
│
└── docs/
├── SETUP_GUIDE.md # Detailed setup instructions
└── ESPANSO.md # Espanso reference guide
🚀 Quick Start
Option 1: One-Line Install (Recommended)
curl -fsSL https://raw.githubusercontent.com/adlee-was-taken/dotfiles/main/install.sh | bash
Option 2: Manual Install
# Clone the repository
git clone https://github.com/adlee-was-taken/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
# Run the installer
./install.sh
What Gets Installed?
The installer will:
- Detect your OS (Ubuntu, Arch, Fedora, macOS)
- Install dependencies (git, curl, zsh)
- Backup existing configs to
~/.dotfiles_backup_YYYYMMDD_HHMMSS/ - Install oh-my-zsh
- Create symlinks to dotfiles
- Optionally install espanso, fzf, bat, eza
- Set zsh as default shell
⚙️ Post-Installation
Set Up Espanso
Personalize your text expansion snippets:
cd ~/.dotfiles
./bin/setup-espanso.sh
This wizard will:
- Update
personal.ymlwith your name, email, etc. - Install optional espanso packages (emoji, math symbols)
- Show you useful triggers and tips
Test Espanso
Try typing these anywhere:
..date→ 2024-12-13..time→ 14:30:45..ip→ Your public IP..shrug→ ¯\_(ツ)_/¯
Toggle espanso: ALT+SHIFT+E
Search snippets: ALT+SPACE
Deploy Theme System-Wide (Optional)
To share the theme across all users on your system:
cd ~/.dotfiles
sudo ./bin/deploy-zshtheme-systemwide.sh --all
Options:
--all- Deploy to all users with oh-my-zsh--current- Deploy to current user + root only--status- Show deployment status--force- Force replace existing links
Updating
Update Dotfiles from GitHub
cd ~/.dotfiles
git pull origin main
./install.sh # Re-link updated files
Or use the helper script:
update-dotfiles.sh
Push Changes to GitHub
cd ~/.dotfiles
git add .
git commit -m "Update theme colors"
git push origin main
🎨 Customization
Modify the Zsh Theme
vim ~/.dotfiles/zsh/themes/adlee.zsh-theme
source ~/.zshrc # Test changes
Add Custom Aliases
Edit ~/.dotfiles/zsh/.zshrc and add to the aliases section:
# Custom aliases
alias projects='cd ~/projects'
alias dc='docker-compose'
Add Espanso Snippets
Edit ~/.dotfiles/espanso/match/base.yml:
matches:
- trigger: "..myproject"
replace: "cd ~/projects/my-awesome-project"
Then restart espanso:
espanso restart
📚 Documentation
- SETUP_GUIDE.md - Detailed setup instructions
- ESPANSO.md - Complete espanso reference
- Zsh Theme Variables - Customize colors and format
🌟 Espanso Quick Reference
Date & Time
| Trigger | Output |
|---|---|
..date |
2024-12-13 |
..time |
14:30:45 |
..ts |
2024-12-13T14:30:45.123Z |
..epoch |
1702476645 |
Git Shortcuts
| Trigger | Output |
|---|---|
..gst |
git status |
..gco |
git checkout |
..gcm |
git commit -m "" |
..branch |
Current git branch name |
System Info
| Trigger | Output |
|---|---|
..user |
Current username |
..host |
Hostname |
..ip |
Public IP address |
..pwd |
Current directory |
Emoticons
| Trigger | Output |
|---|---|
..shrug |
¯\_(ツ)_/¯ |
..flip |
(╯°□°)╯︵ ┻━┻ |
..check |
✓ |
🖥️ Multi-System Setup
Deploy to New System
# On the new system
git clone https://github.com/adlee-was-taken/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.sh
Sync Changes Between Systems
# On system A (make changes)
cd ~/.dotfiles
git add .
git commit -m "Update aliases"
git push
# On system B (pull changes)
cd ~/.dotfiles
git pull
source ~/.zshrc
Troubleshooting
Theme Not Loading
Ensure ZSH_THEME="adlee" in ~/.zshrc:
grep ZSH_THEME ~/.zshrc
Then reload:
source ~/.zshrc
Espanso Not Expanding
Check if espanso is running:
espanso status
If not running:
espanso service start
View logs:
espanso log
Symlinks Broken
Remove broken symlinks:
find ~ -maxdepth 1 -type l -xtype l -delete
Re-run installation:
cd ~/.dotfiles && ./install.sh
Permission Errors
Make scripts executable:
chmod +x ~/.dotfiles/install.sh
chmod +x ~/.dotfiles/bin/*
Contributing
This is a personal dotfiles repository, but suggestions and improvements are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit your changes (
git commit -m 'Add some improvement') - Push to the branch (
git push origin feature/improvement) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- oh-my-zsh - Zsh configuration framework
- espanso - Text expander
- vimrc - Ultimate virmrc by amix
- fzf - Fuzzy finder
- bat - Cat clone with syntax highlighting
- eza - Modern ls replacement
Resources
Author: Aaron D. Lee
Repository: https://github.com/adlee-was-taken/dotfiles
Last Updated: 2024-12-13
If you find this useful, consider giving it a star!# dotfiles Aaron D. Lee's dotfiles for Linux/MacOs