Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

179 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Lazy Zsh

     _                                               _                         _____    _     
    / \__      _____  ___  ___  _ __ ___   ___      | |    __ _ _____   _     |__  /___| |__  
   / _ \ \ /\ / / _ \/ __|/ _ \| '_ ` _ \ / _ \_____| |   / _` |_  / | | |_____ / // __| '_ \ 
  / ___ \ V  V /  __/\__ \ (_) | | | | | |  __/_____| |__| (_| |/ /| |_| |_____/ /_\__ \ | | |
 /_/   \_\_/\_/ \___||___/\___/|_| |_| |_|\___|     |_____\__,_/___|\__, |    /____|___/_| |_|
                                                                    |___/                     

Version GitHub Release Node.js License: MIT Platform CI

The easiest way to set up and manage your Zsh environment

Awesome-Lazy-Zsh automates your Zsh setup with 42 plugins, 5 themes, configuration profiles, and service installation. It installs dependencies, manages Oh My Zsh, and gives you a beautiful interactive CLI to build the terminal environment you want.

Features

Core

  • 42 Plugins β€” databases, cloud CLIs, DevOps tools, languages, and productivity shortcuts
  • 5 Themes β€” Spaceship, Powerlevel10k, Starship, Agnoster, Robbyrussell
  • Backup & Restore β€” automatic .zshrc backups before any changes
  • Interactive CLI β€” guided setup wizard with multi-select menus
  • Verified Dependencies β€” uses declared Homebrew dependencies and reproducible npm installs
  • Configuration Profiles β€” save, switch, and manage different setups
  • Custom Plugins β€” add plugins from any Git repository

Update Notification (v3.4.0+)

  • Stay current β€” checks for new versions on startup (once per 24 hours)
  • Interactive prompt: "Yes, update now / No / Skip this version"
  • Auto-detects install method (git pull or brew upgrade)
  • 5-second timeout with graceful degradation on network failure

Resume Setup (v3.3.0+)

  • Never lose progress β€” checkpoint-based state persistence
  • Automatic saves at each major step (plugin selection, installation, services, theme)
  • "Resume previous setup" or "Start fresh" prompt on re-launch
  • Per-plugin/service progress tracking β€” skips what already succeeded
  • 24-hour auto-expiry for stale state files

Service Installation (v3.2.0+)

  • Install real service servers (MongoDB, MySQL, PostgreSQL, Redis, RabbitMQ, Elasticsearch, Memcached)
  • Install cloud CLIs (AWS CLI, Google Cloud SDK, Azure CLI)
  • Install DevOps tools (kubectl, Terraform, Ansible, Docker Compose)
  • Install language runtimes (Python, Go, Rust, Java/OpenJDK)
  • Platform auto-detection β€” Homebrew (macOS), apt (Debian/Ubuntu), yum (RHEL/CentOS)
  • Pre-installation checks β€” skips already-installed tools
  • Optionally start services immediately after installation

Security (v3.4.2+)

  • External plugins pinned to specific release tags or commit SHAs
  • GitHub Actions pinned to full commit SHAs
  • Managed-block approach for .zshrc β€” preserves your customizations
  • Atomic file writes prevent corruption
  • Restrictive file permissions (0o600/0o700)
  • Input validation for custom plugin URLs and names

Table of Contents

Quick Start

Via Homebrew (Recommended)

brew tap amjaradat01/awesome-lazy-zsh
brew install awesome-lazy-zsh
awesome-lazy-zsh

Via Git Clone

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

The setup script installs Git, Node.js, Homebrew, and fzf if missing, then launches the interactive CLI.

Update

# Via Homebrew
brew update && brew upgrade awesome-lazy-zsh

# Via Git
cd awesome-lazy-zsh && git pull --ff-only && npm ci --ignore-scripts

Installation Options

Option Description
Fresh Installation Choose plugins and theme interactively
Default Installation Pre-configured developer setup (18 plugins + Spaceship theme)
Update Plugins Update all installed plugins to latest
Manage Profiles Save, switch, or list configuration profiles
Custom Plugins Add any plugin from a Git repository URL
Backup/Restore Manage .zshrc backups

If a previous setup was interrupted, you'll also see a Resume option to continue from where you left off.

Available Plugins

Database Services

Plugin Aliases
mongodb mongo-start, mongo-stop, mongo-local
postgresql pg-start, pg-stop, pg-local, pg-list
mysql mysql-start, mysql-stop, mysql-local
redis redis-start, redis-stop, redis-ping
rabbitmq rabbitmq-start, rabbitmq-queues
elasticsearch es-start, es-health, es-indices
memcached memcached-start, mc-stats

Cloud Providers

Plugin Aliases
aws aws-whoami, aws-profile, ec2-list, s3-ls
gcloud gc-auth, gc-vms, gc-buckets
azure az-login, az-vms, az-aks

DevOps Tools

Plugin Aliases
kubernetes kgp, kgs, kctx, kns, klogs
docker-compose-extended dcu, dcd, dcl, dcps
terraform-extended tfi, tfp, tfa, tfw
ansible ap, av, ag, aping

Development Languages

Plugin Aliases
python venv-create, va, vd, pip-freeze
golang gob, gor, got, gomod
rust cb, cr, ct, cf
node ni, nr, yi, pi
java mci, gwb, java11, java17

Productivity

Plugin Aliases
git-extras gst, grbi, gcp, gundo, gsync
ssh ssh-keygen-ed, ssh-copy-key, ssh-agent-start
dotenv dotenv, env-load, env-show
directories .., ..., mkcd, bookmark, goto
history-search hg, fh, htop10
extract extract, mktar, mkzip

Built-in Oh My Zsh Plugins

git Β· git-flow Β· npm Β· nvm Β· docker Β· docker-compose Β· kubectl Β· terraform Β· vscode Β· extract Β· dotenv Β· ssh-agent Β· node Β· gitfast

External Plugins

Plugin Source
zsh-autosuggestions Fish-like command suggestions
zsh-syntax-highlighting Real-time syntax highlighting
zsh-autocomplete IDE-style auto-completion
fzf Fuzzy finder integration
z Smart directory jumping
thefuck Corrects previous console commands

Available Themes

Theme Type Description
spaceship External Modern, feature-rich prompt with git info
powerlevel10k External Highly customizable, very fast
starship External Cross-shell, written in Rust
agnoster Built-in Clean, git-aware segments
robbyrussell Built-in Simple and fast (Oh My Zsh default)

Resume Setup

If your setup is interrupted (Ctrl+C, terminal crash, network issue), your progress is saved automatically. On re-launch, you'll see:

? A previous setup was interrupted. What would you like to do?
> Resume previous setup
  Start fresh

Checkpoints are saved after:

  • Plugin selection
  • Each plugin installation
  • Service installation
  • Theme selection

State is stored at ~/.awesome-lazy-zsh-state.json and expires after 24 hours.

Profile Management

Save and switch between different plugin/theme configurations:

? Profile management:
> Switch profile
  Save current as profile
  List profiles

Example setups:

  • Work: docker, kubernetes, aws, terraform, git-extras
  • Personal: git, node, python, fzf, z
  • Minimal: git, zsh-autosuggestions, z

Profiles are stored at ~/.awesome-lazy-zsh/profiles/.

System Requirements

Supported Platforms

Platform Service Installation Aliases
macOS (Intel & Apple Silicon) Via Homebrew Yes
Linux (Debian/Ubuntu) Via apt Yes
Linux (RHEL/CentOS/Fedora) Via yum Yes
Windows (WSL2) Via apt (inside WSL) Yes

Service installation requires macOS or Linux with a supported package manager. Aliases work on any system running Zsh.

Auto-installed Dependencies

Tool Purpose
Homebrew Package manager (macOS/Linux)
Git Plugin management and cloning
Node.js 18+ Powers the interactive CLI
fzf Fuzzy finder functionality
Oh My Zsh Zsh plugin framework

Terminal Compatibility

Works in any terminal that supports Zsh: iTerm2, Terminal.app, GNOME Terminal, Windows Terminal (WSL), VS Code terminal, Alacritty, Kitty, WezTerm.

Security

Awesome-Lazy-Zsh takes security seriously:

  • Supply Chain: External plugins/themes pinned to specific tags or commit SHAs
  • File Safety: Atomic writes, restrictive permissions (0o600/0o700)
  • Configuration: Managed-block approach preserves your .zshrc customizations
  • Validation: URL and name validation for custom plugins
  • Backups: Unified backup directory at ~/.awesome-lazy-zsh/backups/

See SECURITY.md for vulnerability reporting.

Contributing

See CONTRIBUTING for details on development setup, git-flow workflow, and pull request guidelines.

License

MIT License β€” free to use in personal and commercial projects.


Made with care for developers who want a powerful terminal without the setup hassle

About

πŸš€ Comprehensive Zsh environment manager with 42+ plugins, 5 themes, configuration profiles, and service installation. Features interactive CLI, automatic updates, resume-on-interrupt, and Oh My Zsh integration. Supports macOS, Linux, and WSL2.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages