ZSHRC

๐Ÿ› ๏ธ ZSHRC โ€“ Interactive Zsh Setup & Tooling

Welcome ๐Ÿ‘‹
This project helps you set up a powerful Zsh-based development environment in a safe, modular, and explainable way.

It is designed for:


๐Ÿš€ Quick Navigation


โœจ What This Project Does

This repository provides an interactive setup system that lets you:

Nothing is installed silently. Everything is explicit.


๐Ÿง  How It Works

You can explore this visually using the dependency graph.


๐ŸŸข Getting Started

curl -fsSL https://raw.githubusercontent.com/jatingarg36/ZSHRC/main/install.sh | bash

Manual Install (Git Clone)

git clone https://github.com/jatingarg36/ZSHRC
cd ZSHRC
chmod +x setup.sh
./setup.sh

This launches an interactive menu where you choose what to install.


โšก Common Commands

Install everything (non-interactive)

./setup.sh --yes

Preview without installing (dry run)

./setup.sh --dry-run

Install specific modules

./setup.sh tmux fzf config

Visualize dependency graph

./setup.sh --graph

Explain a module

./setup.sh --explain tmux

๐Ÿงฉ Modules Overview

Some of the key modules included:

You can list all available modules anytime:

./setup.sh --list

๐Ÿš Shell Setup (Zsh)

For safety reasons, the installer does not change your default shell automatically.

If you explicitly want to switch your default shell to Zsh:

./setup.sh --set-shell

Or as part of full setup:

./setup.sh --yes --set-shell

After that, restart your terminal or run:

exec zsh

๐Ÿงช CI / Automation Safety

In CI environments (GitHub Actions, GitLab CI, containers):

This makes the project safe for automation.


๐Ÿงฏ Troubleshooting

โ€œMy shell is still bashโ€

This is expected. Run:

./setup.sh --set-shell

โ€œNothing changed after re-running setupโ€

Try:

./setup.sh config

Config modules always re-apply updates with backups.


๐Ÿ”— Resources

Useful links to understand the tools used here:


๐Ÿค Contributing

Contributions are welcome! Please see CONTRIBUTING.md๏ฟผ.