Skip to content

Gheris-579/EasyZsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 

Repository files navigation

⚡ EasyZsh v0.2.0

Transform your terminal into a professional workstation with a single command.
An interactive Python manager for Debian/Ubuntu-based distributions (Parrot OS, Kali Linux, Mint).


🚀 Why EasyZsh?

Manually configuring Zsh, Oh My Zsh, and plugins every time you install a new system is tedious. EasyZsh automates the entire process through an intuitive numbered menu and eye-catching banners.

🔥 What does EasyZsh handle for you?

  • System Maintenance: Handle update, full-upgrade, and autoremove from a single centralized menu.
  • Essential Dependencies: Installs git, curl, and required base packages automatically.
  • Zsh Setup: Installs Zsh and prepares it for daily use in seconds.
  • Oh My Zsh Installation: Sets up the Oh My Zsh framework in unattended mode (no interruptions).
  • User Configuration: Configures your user .zshrc with plugins, custom prompt, and improved defaults.
  • Root Zsh Configuration: Automatically configures the ROOT shell (Red Prompt 🔴) with automatic plugin synchronization.
  • Productivity Plugins: Adds zsh-autosuggestions and zsh-syntax-highlighting for a better terminal experience.
  • Backup Protection: Creates a safety backup of .zshrc with a timestamp before every important change.
  • Smart Config Memory: Stores preferences in config.json to remember your setup.
  • Error-Aware Setup: Verifies files, paths, and dependencies before applying changes to prevent crashes.

📥 Quick Installation (One-Liner)

No need to download anything manually. Paste this into your terminal and press Enter:

curl -sSL https://raw.githubusercontent.com/Gheris-579/EasyZsh/main/EasyZsh/install.sh | bash

After installation, restart your terminal and simply type:

easyzsh

🛠️ Requirements

  • OS: Ubuntu, Debian, Parrot OS, Kali Linux, Pop!_OS.
  • Python: 3.x (the installation script checks this for you).

🛠️ Roadmap (Upcoming Features)

We are constantly working to make EasyZsh even better. Here is what's coming next:

  • 🎨 Powerlevel10k Integration: Automatic setup for the most popular and fastest Zsh theme.
  • 📦 Flatpak & Snap Support: One-click installation for modern containerized applications.
  • 🐧 Cross-Distro Compatibility: Expanding support for Arch Linux (pacman) and Fedora (dnf).

🤝 Contributing

Want to add a new banner or a new plugin?

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📂 Complete Project Structure

  • easyzsh.py: Il file principale (Main) che l'utente lancia per aprire il menu.
  • install.sh: The Bash script used for quick installation through the curl command.
  • LICENSE: The MIT license that protects the project’s source code.
  • README.md: The presentation page containing instructions, screenshots, and project information.
  • config.json: The file, created automatically, that stores the username and Zsh installation status.
  • modules/init.py: The required empty file that tells Python the folder contains modules.
  • modules/core.py: The “engine” that contains run_task and the apt system commands.
  • modules/zsh_manager.py: The “specialist” responsible for installing Oh My Zsh, plugins, and the custom prompt.
  • modules/art.py: Your “art gallery” containing the 11 ASCII banners and color codes (Re, Gr, Blu).
  • modules/config_manager.py: The manager that reads and writes data to the JSON configuration file.
  • modules/ui_utils.py: (If created) The file that contains UI helper functions such as clear() or show_header().

📸 Menu Preview

image

Video 📼

easyzsh.mp4

SCREEN

image image image image image image image image image image image image image image image image image image image