A modern, powerful, and beautifully crafted development environment setup featuring Vim, Tmux, and Zsh configurations optimized for productivity and aesthetics.
- π The Visual Playbook: 10x Productivity For Software Engineers Get it here
- β‘ Read Also My Article : The Hidden Psychology of Great Developers Get it here
- π The AI-Powered Terminal Command Playbook
- Consistent dark theme across Vim, Tmux, and terminal
- Eye-friendly color scheme perfect for long coding sessions
- Carefully crafted status bars and UI elements
- Language Support: C/C++, Python, JavaScript, and more
- Smart Autocompletion with ALE (Asynchronous Lint Engine)
- File Explorer with NERDTree and icons
- Fuzzy Finding with CtrlP
- Git Integration with GitGutter
- Code Formatting and linting
- Quick Commands for common tasks
- Vim-like Navigation between panes
- Session Management with custom scripts
- Beautiful Status Bar with system info
- Plugin Management with TPM
- Session Persistence (resurrect & continuum)
- Copy Mode optimized for productivity
- Powerlevel10k prompt with instant loading
- Oh My Zsh with carefully selected plugins
- Modern CLI Tools (eza, bat, ripgrep, fzf, zoxide)
- Git Workflow enhancement functions
- Productivity Aliases and functions
- Interactive Tools for file management
- One-Command Rollback - Restore any config file instantly with
./install.sh --rollback <vim|tmux|zsh|all> - Automatic Backups - Every installation creates timestamped backups of your existing configs
- Safe Experimentation - Try new configurations without fear - rollback anytime to previous working state
- Granular Control - Rollback individual configs (vim, tmux, zsh) or all at once
- Tools Stay Intact - Rollback only affects configuration files, all installed tools remain
- Backup History - View all available backups with
./install.sh --list-backups - Safety Net - Creates additional backup before rollback, ensuring you can never lose data
- CURL & API Testing: Complete suite for API development and debugging
- JQ JSON Processing: Parse, filter, and transform JSON with ease
- Essential Functions: Universal archive extractor, backup system, instant HTTP server
- Interactive Help System: Built-in terminal cheatsheet (
cheatcommand)
- Automate & Enhance: Go beyond aliases with powerful, pre-configured prompts for Gemini.
- Expert Personas: Generate high-quality code, documentation, summaries, and more with a single command.
- Streamlined Workflow: Integrate advanced AI capabilities directly into your terminal.
π The Ultimate AI-Powered Terminal Command Playbook Agents: Your A-to-Z Guide for Gemini CLI Mastery
Imagine building a small to medium-sized application using only manual methodsβno AI assistant, no optimized dotfiles, and no custom slash commands. Now, consider the hours spent on repetitive tasks like writing documentation, creating test cases, formatting commit messages, and building project plans from scratch.
π The AI-Powered Terminal Command Playbook is designed to eliminate that friction entirely. By integrating this suite of custom agents directly into your terminal, you can automate these workflows, with each tool acting like a second brain that understands the specific context of your project's data, not just vague instructions.
This approach saves a minimum of five hours on any given project and boosts your productivity tenfold, all while delivering a more consistent and professional result.
.vimrc- Complete Vim IDE setup.tmux.conf- Feature-rich Tmux configuration.zshrc- Modern shell environment with productivity tools
Development Tools:
βββ autopep8 # Python code formatter
βββ clangd # C/C++ language server
βββ pylsp # Python language server
βββ pycodestyle # Python style checker
File & Navigation:
βββ bat # Modern cat with syntax highlighting
βββ eza # Modern ls replacement
βββ fd # Modern find replacement
βββ rg (ripgrep) # Ultra-fast grep replacement
βββ fzf # Fuzzy finder
βββ zoxide # Smart cd replacement
βββ ranger # Terminal file manager
System & Productivity:
βββ glow # Markdown viewer
βββ procs # Modern ps replacement
βββ dust # Disk usage analyzer
βββ btop # System monitor
βββ termdown # Terminal countdown timer
βββ tldr # Simplified man pages
βββ todo.sh # Command-line todo manager
βββ jq # JSON processor
Development Utilities:
βββ entr # File watcher
βββ ipcalc # IP calculator
βββ mc # Midnight Commander
βββ curl # Data transfer tool
curl -fsSL https://raw.githubusercontent.com/yomazini/dotfiles/main/install.sh -o install.sh && chmod +x install.sh && ./install.sh# Clone the repository
git clone https://github.com/yomazini/dotfiles.git
cd dotfiles
# Run the installation script
chmod +x install.sh
./install.sh- π Backs up your existing configurations
- π¦ Installs all required tools and dependencies
- π Creates symbolic links to the new configurations
- π¨ Sets up plugins and themes
- π€ Installs Gemini AI commands (optional)
- π» Sets up interactive help system
- β Verifies the installation
| Command | Description |
|---|---|
<Space>w |
Save file |
<Space>q |
Quit |
<Space>wq |
Save and quit |
<Space>j |
Format JSON |
<Space>d |
Show error details |
Ctrl+n |
Toggle file tree |
Ctrl+p |
Fuzzy file search |
:Format |
Auto-format code |
:GStatus |
Git status in split |
| Command | Description |
|---|---|
Ctrl+a |
Prefix key |
Ctrl+a r |
Reload config |
Ctrl+a e |
Edit config |
Ctrl+a " |
Horizontal split |
Ctrl+a % |
Vertical split |
Ctrl+a hjkl |
Navigate panes |
Ctrl+a HJKL |
Resize panes |
Ctrl+a j |
Session switcher |
Ctrl+a z |
Zoom pane (fullscreen) |
cgetjson <url> # GET JSON with pretty print
cpost <url> <data> # POST JSON data
cput <url> <data> # PUT JSON data
cdel <url> # DELETE request
chead <url> # Fetch headers only
cresolve <domain> <ip> <url> # Test DNS override... | jval <key> # Extract single value
... | jfield <key> # Extract field from array
... | jfields <k1> <k2> # Extract multiple fields as table
... | jfind <key> <value> # Filter by exact match
... | jfind <key> <val> -c # Filter by contains (partial)extract <archive> # Universal archive extractor
gitignore <language> # Generate .gitignore file
backup <file/dir> # Create timestamped backup
serve [port] # Start HTTP server (default: 8000)
pfind # Interactive process finder/killer
cat_exts [.ext ...] # Cat all files by extensiongia # Interactive git add with preview
gco # Interactive branch checkout
glo # Beautiful git log with fzf
gs # Git status
gd # Git diff
gundo # Undo last commit (keep changes)
gwip # Quick WIP commit
gclean # Delete merged branchesvf # Find and edit file with fzf
cf # Find and view file with fzf
fgr # Find in files and open in editor
fer # Find recent files (last 24h)
del # Interactive file deletion
mkcd dir # Create and enter directoryll # Detailed file listing with icons
tree # Directory tree view
cat file # Syntax highlighted file view
grep text # Fast search with ripgrep
cd dir # Smart directory jumping with zoxidetodo # Find TODO/FIXME in code
port 3000 # Check what's using a port
weather # Get weather forecast
cpy file # Copy to clipboard
myip # Get your public IP
bigstuff # Show large directories and files
btop # System monitor dashboard
pfind # Interactive process managerAccess the built-in terminal cheatsheet anytime:
cheat # Interactive menu with all categories
cheat curl # Jump directly to CURL commands
cheat git # Jump directly to Git workflow
cheat search # Search all commands (with FZF)
ch # Short alias for 'cheat'
chelp <command> # Get help for specific command
# Examples:
chelp cgetjson # Quick help for cgetjson
chelp jfind # Quick help for jfind
cheat tmux # Show all TMUX commandsAvailable categories:
curl- CURL & API Testingjq- JQ JSON Processingessential- Essential Functionstmux- TMUX Commandsvim- VIM Commandsgit- Git Workflowfiles- File Operationssystem- System Monitoringdocker- Docker Utilitiessearch- Search All Commands
These custom commands are designed to integrate the power of Google's Gemini directly into your command-line workflow, turning simple prompts into powerful, structured outputs. By using expert personas and predefined templates, they streamline common tasks, automate complex processes, and ensure high-quality, consistent results for everything from writing code to summarizing meetings.
The following custom commands are included to supercharge your workflow with Gemini. They are automatically installed into ~/.gemini/commands.
| Command Category | Command Name | Description |
|---|---|---|
| Content | content-summarize |
Provides a multi-format summary of any text. |
email-draft |
Drafts professional emails based on context, tone, and purpose. | |
meeting-summary |
Summarizes meeting notes into actionable insights. | |
prompt-enhance |
Refines a raw user prompt into a highly effective instruction. | |
report-gen |
Generates comprehensive reports from data files. | |
| Development | code-refactor |
Refactors a piece of code based on a specific instruction. |
debug-assistant |
Analyzes error logs and provides systematic debugging strategies. | |
doc-generate |
Generates professional, language-aware documentation for code. | |
docker-explain |
Explains a Dockerfile or docker-compose.yml in plain English. | |
git-commit |
Generates a Conventional Commit message from staged changes. | |
git-summarize |
Summarizes a git log into a human-readable changelog. | |
test-create |
Generates a complete, runnable test file for the provided code. | |
test-gen |
Automatically generates comprehensive test cases. | |
test-report |
Analyzes a test failure report and suggests fixes. | |
| Media | photo-rename |
Organizes and renames photos based on visual content and metadata. |
| Productivity | flashcards-create |
Generates a set of 10 technical flashcards for Anki. |
local-weather |
Provides a clean, natural-language summary of the weather. | |
search-advanced |
Activates an advanced search agent for up-to-date information. | |
task-prioritizer |
Creates organized, actionable task lists with time estimates. | |
ticket-create |
Formats a simple description into a structured bug report or ticket. | |
| Security | security-audit |
Performs a comprehensive security audit of code and dependencies. |
| System | apt-find |
Searches APT repositories using natural language. |
cleanup |
Identifies and suggests cleanup opportunities in a codebase. | |
file-organizer |
Intelligently organizes files in directories. | |
sys-health-check |
Provides a quick summary of system health (disk, memory, CPU). | |
sys-search |
Translates a natural language query into a ripgrep command. |
All configurations use the Gruvbox theme for consistency. To change:
Vim: Edit .vimrc and change colorscheme gruvbox
colorscheme your-theme-nameTmux: Edit the color variables in .tmux.conf
bg1='#your-bg-color'
fg='#your-fg-color'
yellow='#your-accent-color'Add your own shortcuts to .vimrc:
nnoremap <leader>your-key :YourCommand<CR>Or to .tmux.conf:
bind your-key your-commandTo add new CLI tools, edit install.sh and .zshrc:
- Add installation command to
install.sh - Add aliases/functions to
.zshrc - Re-run the installer
π Python Tools Not Working?
# Ensure Python and pip are installed
python3 --version
pip3 --version
# Reinstall Python tools
pip3 install --user autopep8 python-lsp-server pycodestyleπ¨ Colors Not Showing?
# Check terminal color support
echo $TERM
# Should show: screen-256color or xterm-256color
# Test colors
curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/ | bashπ Vim Plugins Failing?
# Reinstall vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# Reinstall plugins
vim +PlugInstall +qallπ¦ Tmux Plugins Not Loading?
# Install TPM
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Install plugins: Ctrl+a + Iβ Help System Not Working?
# Ensure functions are loaded
source ~/.zshrc
# Test the help system
cheat
# If FZF not working in search
# Install FZF: git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/installRun this to verify your setup:
# Check essential tools
for tool in vim tmux zsh git fzf rg bat eza fd zoxide jq curl; do
command -v $tool >/dev/null 2>&1 && echo "β
$tool" || echo "β $tool"
done
# Test custom functions
type cgetjson >/dev/null 2>&1 && echo "β
CURL functions loaded" || echo "β CURL functions missing"
type jfind >/dev/null 2>&1 && echo "β
JQ functions loaded" || echo "β JQ functions missing"
type cheat >/dev/null 2>&1 && echo "β
Help system loaded" || echo "β Help system missing"Time saved per day: 45-60 minutes
Weekly savings: 5-7 hours
Monthly savings: 20-28 hours
- Commands saved: ~200 keystrokes/day
- Context switches: Reduced by 60%
- Setup time: From 1 hour to 5 minutes
- Testing time: Reduced by 70%
- Debugging time: Reduced by 50%
You may encounter some Problems in the install.sh. simply remove these lines from the script and do it manually
print_step "Installinsg Zsh plugins..."
# zsh-autosuggestions
- if [ ! -d "${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" ]; then
- git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- else
- print_success "zsh-autosuggestions already installed"
- fi
-
- # zsh-syntax-highlighting
- if [ ! -d "${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" ]; then
- git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
- else
- print_success "zsh-syntax-highlighting already installed"
- fi
print_success "Zsh plugins installed"
Found a bug or have a suggestion? Contributions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin amazing-feature - Open a Pull Request
- Oh My Zsh community for the amazing framework
- Vim and Tmux communities for the incredible tools
- 1337 / 42 School for the inspiration and learning environment
Made with βοΈβοΈβοΈ by Youssef Mazini (ymazini)
- π GitHub: yomazini
- πΌ LinkedIn: Connect with me
β Star this repo if it helped you! β
Built for developers, by developers π