A powerful bash script that automatically installs and configures a modern Zsh environment with Oh My Zsh, syntax highlighting, autosuggestions, and system information display across multiple Linux distributions.
- Universal Package Manager Support: Automatically detects and uses the appropriate package manager
- Debian/Ubuntu (
apt-get) - RHEL/CentOS (
yum) - Fedora (
dnf) - Arch Linux (
pacman) - Termux (
pkg)
- Debian/Ubuntu (
- Complete Zsh Setup: Installs Zsh and sets it as the default shell
- Oh My Zsh Integration: Installs the popular Zsh framework
- Enhanced Plugins:
zsh-autosuggestions: Fish-like autosuggestions for Zshzsh-syntax-highlighting: Real-time syntax highlighting
- Beautiful Theme: Configures the "bira" theme for a modern look
- System Info: Includes Neofetch for stylish system information display
- Smart Installation: Checks for existing installations to avoid conflicts
- Linux-based operating system
- Internet connection for downloading packages
sudoprivileges for package installation
bash MrZsh.sh-
Clone or download the script:
wget https://raw.githubusercontent.com/yourusername/MrZsh/main/MrZsh.sh # or curl -O https://raw.githubusercontent.com/yourusername/MrZsh/main/MrZsh.sh -
Make it executable:
chmod +x MrZsh.sh
-
Run the script:
./MrZsh.sh
| Component | Description | Purpose |
|---|---|---|
| Zsh | Z Shell | Modern shell with advanced features |
| Oh My Zsh | Zsh framework | Plugin and theme management |
| zsh-autosuggestions | Autocompletion plugin | Fish-like command suggestions |
| zsh-syntax-highlighting | Syntax highlighting | Real-time command validation |
| Neofetch | System info tool | Beautiful system information display |
| Git | Version control | Required for Oh My Zsh plugins |
| Curl | HTTP client | Required for downloading components |
The script automatically configures your .zshrc file with:
- Theme:
bira- A clean, informative theme - Plugins:
git,zsh-autosuggestions,zsh-syntax-highlighting - Startup: Neofetch display on terminal launch
- Default Shell: Sets Zsh as your default shell
| Distribution Family | Package Manager | Status |
|---|---|---|
| Debian/Ubuntu | apt-get |
✅ Supported |
| RHEL/CentOS | yum |
✅ Supported |
| Fedora | dnf |
✅ Supported |
| Arch Linux | pacman |
✅ Supported |
| Termux (Android) | pkg |
✅ Supported |
- Duplicate Detection: Checks if components are already installed
- Graceful Handling: Skips installation if packages already exist
- Error Reporting: Clear error messages with colored output
- Non-Destructive: Preserves existing configurations when possible
After installation, you can customize your setup by editing ~/.zshrc:
# Change theme
ZSH_THEME="your-preferred-theme"
# Add more plugins
plugins=(git zsh-autosuggestions zsh-syntax-highlighting your-plugin)
# Remove neofetch if not desired
# Comment out or remove the 'neofetch' line-
Permission Denied:
chmod +x MrZsh.sh
-
Package Manager Not Found:
- Ensure you're running on a supported Linux distribution
- Check if your package manager is in PATH
-
Network Issues:
- Verify internet connection
- Check if firewall allows HTTP/HTTPS connections
-
Sudo Issues:
- Ensure your user has sudo privileges
- Try running with
sudo bash MrZsh.shif needed
If you need to remove the installation:
# Remove Oh My Zsh
rm -rf ~/.oh-my-zsh
# Reset shell to bash
chsh -s /bin/bash
# Remove .zshrc (backup first!)
mv ~/.zshrc ~/.zshrc.backupContributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
- Fork the repository
- Create a feature branch
- Make your changes
- Test on multiple distributions
- Submit a pull request
This project is open source and available under the MIT License.
- Oh My Zsh - The amazing Zsh framework
- zsh-autosuggestions - Fish-like autosuggestions
- zsh-syntax-highlighting - Syntax highlighting plugin
- Neofetch - System information tool
If you encounter any issues or have questions:
- Check the Troubleshooting section
- Search existing Issues
- Create a new issue with detailed information about your system and the problem
Made with ❤️ for the Linux community