Skip to content

πŸš€ Comprehensive Zsh environment manager with plugin updates, configuration profiles, and system integration. Features interactive CLI for managing 15+ plugins, themes, custom repositories, and automated backups. Supports macOS/Linux with Oh My Zsh auto-installation.

License

Notifications You must be signed in to change notification settings

AmJaradat01/awesome-lazy-zsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Lazy Zsh

Awesome Version License: MIT

πŸš€ The easiest way to set up and manage your Zsh environment

Awesome-Lazy-Zsh is a powerful yet simple tool that automates your Zsh setup with plugins, themes, and configurations. Perfect for developers who want a beautiful, functional terminal without the hassle.

✨ Features

Core Features

  • πŸ”Œ Smart Plugin Management - Install, update, and manage 15+ popular plugins
  • 🎨 Theme Customization - Choose from popular themes like Spaceship, Powerlevel10k
  • πŸ’Ύ Backup & Restore - Automatic .zshrc backups before any changes
  • πŸ–₯️ Interactive CLI - Beautiful, user-friendly setup wizard
  • πŸ”§ Auto Dependencies - Installs Git, Node.js, Homebrew automatically

New Features

  • πŸ”„ Plugin Updates - Keep all plugins up-to-date with one command
  • πŸ“ Configuration Profiles - Save and switch between different setups (work/personal)
  • 🌐 Custom Plugins - Add plugins from any Git repository
  • ⚑ System Integration - Optimized for macOS/Linux with smart path detection
  • 🎯 Smart Aliases - 20+ useful development shortcuts

πŸ“‹ Table of Contents

πŸš€ Quick Start

Via Homebrew (Recommended) 🍺

# Option 1: Direct install
brew install amjaradat01/awesome-lazy-zsh/awesome-lazy-zsh

# Option 2: Add tap first (shorter)
brew tap amjaradat01/awesome-lazy-zsh
brew install awesome-lazy-zsh

# Run the tool
awesome-lazy-zsh

Via Git Clone

One-line installation:

git clone https://github.com/AmJaradat01/awesome-lazy-zsh.git && cd awesome-lazy-zsh && ./setup.sh

Step-by-step:

  1. Clone & Enter

    git clone https://github.com/AmJaradat01/awesome-lazy-zsh.git
    cd awesome-lazy-zsh
  2. Run Setup

    ./setup.sh
  3. Choose Your Setup

    • πŸ†• Fresh Installation - Pick your own plugins and themes
    • ⚑ Default Installation - Pre-configured setup for developers
    • πŸ”„ Update Plugins - Keep everything current
    • πŸ“ Manage Profiles - Switch between configurations

That's it! Your terminal will be transformed in minutes.

πŸŽ›οΈ Installation Options

πŸ†• Fresh Installation

Perfect for customization lovers

  • Choose from 15+ plugins (git, docker, kubectl, fzf, etc.)
  • Pick your favorite theme (spaceship, powerlevel10k, starship)
  • Interactive selection with preview

⚑ Default Installation

Perfect for getting started quickly

  • Pre-selected developer plugins: git, docker, nvm, kubectl, fzf
  • Spaceship theme (beautiful and fast)
  • Optimized aliases and shortcuts

πŸ”„ Update Plugins

Keep everything current

  • Updates all installed plugins to latest versions
  • Safe rollback if something breaks
  • Shows update progress and results

πŸ“ Profile Management

Switch between setups instantly

  • Save current configuration as named profile
  • Switch between work/personal setups
  • Export profiles to share with team

🌐 Custom Plugins

Add any plugin from any repository

  • Install plugins from GitHub, GitLab, etc.
  • Automatic integration with existing setup
  • Persistent custom plugin registry

πŸ”Œ Plugin Management

Built-in Plugin Updates:

# Run setup again and choose "Update plugins"
./setup.sh

Add Custom Plugin:

# Through the CLI menu
./setup.sh β†’ "Add custom plugin"
# Enter: plugin-name and repository-url

Profile Management:

# Save current setup
./setup.sh β†’ "Manage profiles" β†’ "Save current as profile"

# Switch profiles
./setup.sh β†’ "Manage profiles" β†’ "Switch profile"

πŸ“ Profile Management

Profiles let you maintain different Zsh configurations:

  • Work Profile: Docker, Kubernetes, AWS plugins
  • Personal Profile: Git, Node.js, fun themes
  • Minimal Profile: Just essentials for servers

Example:

# Create work profile with specific plugins
Work Profile: git, docker, kubectl, terraform + spaceship theme

# Create personal profile  
Personal Profile: git, nvm, fzf, z + powerlevel10k theme

# Switch instantly
./setup.sh β†’ Manage profiles β†’ Switch profile β†’ Work

πŸ”Œ Available Plugins

Plugin Description Auto-installed
git Git shortcuts and info βœ… Default
docker Docker commands and aliases βœ… Default
nvm Node.js version management βœ… Default
kubectl Kubernetes CLI shortcuts βœ… Default
fzf Fuzzy finder integration βœ… Default
zsh-autosuggestions Command suggestions βœ… Default
zsh-syntax-highlighting Syntax highlighting βœ… Default
z Smart directory jumping ⚑ Fresh only
terraform Terraform shortcuts ⚑ Fresh only
thefuck Correct previous commands ⚑ Fresh only

🎨 Available Themes

Theme Description Speed Customization
spaceship Modern, feature-rich ⚑⚑⚑ 🎨🎨🎨
powerlevel10k Fastest, most customizable ⚑⚑⚑⚑ 🎨🎨🎨🎨
starship Cross-shell, Rust-powered ⚑⚑⚑⚑ 🎨🎨🎨
agnoster Clean, git-aware ⚑⚑⚑ 🎨🎨
robbyrussell Simple, fast default ⚑⚑⚑⚑ 🎨

πŸ’» System Requirements

Supported Systems:

  • βœ… macOS (Intel & Apple Silicon)
  • βœ… Linux (Ubuntu, Debian, CentOS, etc.)
  • βœ… WSL2 (Windows Subsystem for Linux)

Auto-installed Dependencies:

  • Git (for plugin management)
  • Node.js (for CLI interface)
  • Homebrew (macOS/Linux package manager)
  • Oh My Zsh (Zsh framework)

Terminal Compatibility:

  • βœ… iTerm2 (macOS) - Full integration
  • βœ… Terminal.app (macOS)
  • βœ… GNOME Terminal (Linux)
  • βœ… VS Code Terminal
  • βœ… Any Zsh-compatible terminal

🀝 Contributing

Quick Contribution:

  1. 🍴 Fork the repo
  2. 🌿 Create feature branch: git checkout -b amazing-feature
  3. πŸ’Ύ Commit changes: git commit -m 'Add amazing feature'
  4. πŸ“€ Push branch: git push origin amazing-feature
  5. πŸ”„ Open Pull Request

Ideas Welcome:

  • New plugin integrations
  • Theme improvements
  • System compatibility
  • Documentation updates

πŸ“„ License

MIT License - feel free to use in personal and commercial projects!


Made with ❀️ for developers who love beautiful, functional terminals

⭐ Star this repo if it helped you! ⭐

About

πŸš€ Comprehensive Zsh environment manager with plugin updates, configuration profiles, and system integration. Features interactive CLI for managing 15+ plugins, themes, custom repositories, and automated backups. Supports macOS/Linux with Oh My Zsh auto-installation.

Topics

Resources

License

Contributing

Stars

Watchers

Forks