A robust shell management utility to install, configure, track, and revert ZSH environments for users on Fedora-based Linux distributions.
- Per-user installation and rollback
- State tracking for safe revert
- Automatic
.zshrcdeployment - Starship prompt integration
- Plugin configuration (autosuggestions, syntax highlighting)
- Optional full cleanup mode
- Logging and error handling
Source script included in this project.
- Fedora / RHEL / AlmaLinux / Rocky Linux
- Root privileges
- Internet connectivity
curl -O https://your-repo/zsh_manager.sh
chmod +x zsh_manager.shsudo ./zsh_manager.sh install <username>Example:
sudo ./zsh_manager.sh install dipadityaThe script will:
- Save current user shell state
- Install required packages:
- zsh
- git
- fzf
- curl
- Enable COPR repo for starship
- Add repositories for:
- zsh-autosuggestions
- zsh-syntax-highlighting
- Install starship and plugins
- Deploy:
- /etc/starship/starship.toml
- ~/.zshrc
- Change user shell to ZSH
sudo ./zsh_manager.sh status <username>sudo ./zsh_manager.sh revert <username>sudo ./zsh_manager.sh revert <username> --full-cleanup| Path | Purpose |
|---|---|
| /var/lib/zsh_manager/ | State tracking |
| /var/log/zsh_manager.log | Execution logs |
| /etc/starship/starship.toml | Global prompt config |
| ~/.zshrc | User ZSH configuration |
- Uses state files to ensure safe rollback
- Does not overwrite existing
.zshrcblindly - Skips system users during global revert
- Uses strict error handling
- Must be run as root
- Designed for Fedora-based systems only
- Internet is required for repo and config downloads
sudo ./zsh_manager.sh install dipaditya
sudo ./zsh_manager.sh status dipaditya
sudo ./zsh_manager.sh revert dipaditya
sudo ./zsh_manager.sh revert dipaditya --full-cleanupMIT License
Dipaditya Das