Tools: Update: ZSH + Starship: A Better Shell Experience for Linux Power Users

Tools: Update: ZSH + Starship: A Better Shell Experience for Linux Power Users

πŸš€ A Production-Ready Shell Lifecycle Manager with Starship Integration

πŸ”— GitHub Repository

🐚 What is ZSH (and Why Use It?)

⚑ What is Starship?

πŸ” Why This Project Exists

πŸ“¦ Key Features

βš™οΈ Supported Systems

πŸš€ Quick Start

1. Download the Script

2. Install ZSH for a User

πŸ”§ What the Script Does

πŸ” Check Status

πŸ”„ Revert Anytime (Safely)

Standard Revert

Full Cleanup Mode

πŸ“‚ File Structure

πŸ›‘οΈ Safety First

πŸ§ͺ Example Workflow

πŸ’‘ Future Enhancements

πŸ“œ License

πŸ‘¨β€πŸ’» Author πŸ‘‰ https://github.com/DipadityaDas/InstallZsh.git ZSH (Z Shell) is an advanced Unix shell designed to be a more powerful and user-friendly alternative to Bash. For power users and engineers, ZSH significantly enhances productivity compared to traditional shells. Starship is a fast, minimal, and highly customizable cross-shell prompt. Instead of heavy frameworks, Starship delivers: It integrates seamlessly with ZSH and replaces traditional prompt customization approaches. In real-world environments (especially shared systems, lab setups, or enterprise fleets), manually configuring ZSH per user introduces: This tool solves those problems with a state-driven and reversible approach. βœ… Centralized logging Behind the scenes, the script: If you’re managing multiple Linux users and want a clean, reversible, and automated ZSH setup with a modern Starship prompt, this approach will significantly reduce manual effort and eliminate configuration drift. Feedback, issues, and contributions are welcome on GitHub. Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Command

Copy

$ -weight: 500;">git clone https://github.com/DipadityaDas/InstallZsh.-weight: 500;">git cd InstallZsh chmod +x zsh_manager.sh -weight: 500;">git clone https://github.com/DipadityaDas/InstallZsh.-weight: 500;">git cd InstallZsh chmod +x zsh_manager.sh -weight: 500;">git clone https://github.com/DipadityaDas/InstallZsh.-weight: 500;">git cd InstallZsh chmod +x zsh_manager.sh -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install <username> -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install <username> -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install <username> -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install dipaditya -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install dipaditya -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install dipaditya -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">status <username> -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">status <username> -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">status <username> -weight: 600;">sudo ./zsh_manager.sh revert <username> -weight: 600;">sudo ./zsh_manager.sh revert <username> -weight: 600;">sudo ./zsh_manager.sh revert <username> -weight: 600;">sudo ./zsh_manager.sh revert <username> --full-cleanup -weight: 600;">sudo ./zsh_manager.sh revert <username> --full-cleanup -weight: 600;">sudo ./zsh_manager.sh revert <username> --full-cleanup -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install dipaditya -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">status dipaditya -weight: 600;">sudo ./zsh_manager.sh revert dipaditya -weight: 600;">sudo ./zsh_manager.sh revert dipaditya --full-cleanup -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install dipaditya -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">status dipaditya -weight: 600;">sudo ./zsh_manager.sh revert dipaditya -weight: 600;">sudo ./zsh_manager.sh revert dipaditya --full-cleanup -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">install dipaditya -weight: 600;">sudo ./zsh_manager.sh -weight: 500;">status dipaditya -weight: 600;">sudo ./zsh_manager.sh revert dipaditya -weight: 600;">sudo ./zsh_manager.sh revert dipaditya --full-cleanup - Smarter tab completion - Command auto-suggestions - Better globbing and scripting capabilities - Plugin ecosystem (via frameworks or standalone plugins) - Improved developer ergonomics - Blazing-fast prompt rendering (written in Rust) - Git-aware -weight: 500;">status indicators - Language/runtime detection (Node, Python, etc.) - Clean and consistent prompt across shells - Configuration drift - Broken environments - No rollback strategy - Inconsistent developer experience - βœ… Per-user installation and rollback - βœ… Deterministic state tracking - βœ… Safe .zshrc deployment (non-destructive) - βœ… Starship prompt integration - βœ… Plugin management: autosuggestions syntax highlighting - autosuggestions - syntax highlighting - βœ… Full cleanup mode - βœ… Centralized logging - autosuggestions - syntax highlighting - Rocky Linux - Saves the current shell state - Installs dependencies: zsh, -weight: 500;">git, fzf, -weight: 500;">curl - zsh, -weight: 500;">git, fzf, -weight: 500;">curl - Enables Starship via COPR - Installs plugins: zsh-autosuggestions zsh-syntax-highlighting - zsh-autosuggestions - zsh-syntax-highlighting - Deploys configs: /etc/starship/starship.toml ~/.zshrc - /etc/starship/starship.toml - Switches the user shell to ZSH - zsh, -weight: 500;">git, fzf, -weight: 500;">curl - zsh-autosuggestions - zsh-syntax-highlighting - /etc/starship/starship.toml - State-based rollback (no guesswork) - Existing .zshrc is preserved - System users are skipped - Designed for idempotent execution - Dry-run mode (--dry-run) - Bulk user operations (--all-users) - RPM packaging - Ansible role integration - Version flag support