{"id":28393305,"url":"https://github.com/mrz07/zsh-manager","last_synced_at":"2026-04-16T04:02:43.458Z","repository":{"id":163726643,"uuid":"476497573","full_name":"MRZ07/zsh-manager","owner":"MRZ07","description":"A micro framework to run the same zsh configuration on multiple operating systems","archived":false,"fork":false,"pushed_at":"2025-05-29T13:07:12.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T01:53:41.665Z","etag":null,"topics":["bash","bash-profile","zsh","zsh-configuration","zsh-plugin","zsh-profile","zsh-prompt","zshell","zshrc"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MRZ07.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-31T22:27:41.000Z","updated_at":"2025-05-30T07:23:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"7d7739ab-fdba-4da6-b67b-01b9071d4e52","html_url":"https://github.com/MRZ07/zsh-manager","commit_stats":{"total_commits":1,"total_committers":1,"mean_commits":1.0,"dds":0.0,"last_synced_commit":"1d5b123618ae6d340db338220a16de50b8ae81ae"},"previous_names":["mrz07/zsh-manager","mrz07/multi-zsh"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MRZ07/zsh-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MRZ07%2Fzsh-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MRZ07%2Fzsh-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MRZ07%2Fzsh-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MRZ07%2Fzsh-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MRZ07","download_url":"https://codeload.github.com/MRZ07/zsh-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MRZ07%2Fzsh-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31870516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-profile","zsh","zsh-configuration","zsh-plugin","zsh-profile","zsh-prompt","zshell","zshrc"],"created_at":"2025-05-31T16:08:31.966Z","updated_at":"2026-04-16T04:02:43.450Z","avatar_url":"https://github.com/MRZ07.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZSH-Manager: The Ultimate Cross-Platform ZSH Configuration Framework\n\n## 🚀 Introduction\n\n**ZSH-Manager** is a powerful, lightweight, and flexible framework that enables you to maintain a single, unified ZSH configuration across **Linux, macOS, and Windows**. Designed for developers, system administrators, and power users, ZSH-Manager ensures a **consistent shell experience** across all operating systems.\n\n## 🔥 Why Choose ZSH-Manager?\n\n- ✅ **Seamless Cross-Platform Support**: Works flawlessly on **Linux, macOS, and Windows**.\n- ✅ **Support Environment variables**: Easy and extensive way to use Environment variables.\n- ✅ **Path Handling**: Easy and extensive way to handle Path variables.\n- ✅ **Portable \u0026 Unified ZSH Configuration**: Manage all your shell settings from one place.\n- ✅ **Customizable \u0026 Modular**: Use preloaded configurations and extend functionality with custom modules.\n- ✅ **Compatible with All ZSH Frameworks**: Supports **Oh-My-Zsh, Prezto, Antigen, and Zim**.\n- ✅ **Lightweight \u0026 Fast**: Minimal dependencies, designed for performance.\n- ✅ **Effortless Synchronization**: Easily sync your settings via **Git, Dropbox, or cloud services**.\n- ✅ **Automated Setup**: Quickly set up using the provided **symlink script**.\n\n## 🏗️ Directory Structure\n\n```\nzsh-manager/\n├── README.md                           # Documentation\n├── run-to-symlink.sh                     # Setup script to symlink .zshrc\n├── .zshrc                              # Main ZSH configuration file\n├── preload_configs/                    # OS-specific preloaded configurations\n│   ├── common/                         # Shared configurations\n│   ├── linux/                          # Linux-specific configs\n│   │   └── path.sh                     # Linux-specific path configurations\n│   ├── macos/                          # macOS-specific modules\n│   │   └── path.sh                     # macOS-specific path configurations\n│   ├── windows/                        # Windows-specific configs\n│   │   └── path.sh                     # Windows-specific path configurations\n├── modules/                            # Custom modules (aliases, functions, etc.)\n│   ├── common/                         # Cross-platform modules\n│   ├── linux/                          # Linux-specific modules\n│   ├── macos/                          # macOS-specific modules\n│   ├── windows/                        # Windows-specific modules\n```\n\n## 📦 Installation \u0026 Setup\n\n### 1️⃣ Clone the Repository\n\n```bash\ngit clone git@github.com:MRZ07/zsh-manager.git\n```\n\n### 2️⃣ Move Your Existing ZSH Configuration\nMove your existing `.zshrc` file to the framework’s root folder\n\n### 3️⃣ Run the Setup Script\n```bash\n./run-to-symlink.sh\n```\nThis script will create a **symlink** to the recently moved configuration in the framework’s root folder.\n\n### 4️⃣ Customize Your Configuration\n\n- Add **OS-specific** preloaded configs in `preload_configs/`\n- Add **OS-specific** Environment/Path configs in `preload_configs/*os*/path.sh\"`\n- Extend functionality with  **custom modules** in `modules/`\n\n## ⚙️ How ZSH-Manager Works\n\n### **1️⃣ Dynamic Configuration Loading**\nZSH-Manager **automatically detects your operating system** and loads the appropriate configurations.\n\n- **Common settings** (`preload_configs/common/`) are loaded first.\n- **OS-specific settings** (`preload_configs/linux/`, `macos/`, `windows/`) are applied afterward.\n\n### **2️⃣ Modular Architecture**\n- Store **custom functions, aliases, and scripts** in `modules/`.\n- Modules are categorized into **common** and **OS-specific** folders.\n- Ignore specific modules or configurations by **prefixing folder names with `#`** (e.g., `#ignored_module/`).\n\n### **3️⃣ Symlink-Based Setup**\n- The **setup script** (`run-to-symlink.sh`) automatically links `.zshrc` to the framework.\n- This allows **easy switching** between configurations without modifying system files.\n\n## 🎯 Key Features\n\n### 🔗 **Cross-Platform Compatibility**\n- Works seamlessly on **Linux, macOS, and Windows (WSL, Git Bash, Cygwin, MSYS2)**.\n\n### 🔄 **Auto-Loading of Preloaded Configurations**\n- Automatically loads common and OS-specific **aliases, functions, and environment variables**.\n\n### 🎨 **Custom Modules \u0026 Plugins Support**\n- Organize your scripts with a modular structure.\n- Supports **any additional ZSH plugins or external tools**.\n\n### 🏎️ **Optimized for Speed \u0026 Performance**\n- **Lightweight** with minimal overhead.\n- **Fast execution** with optimized loading logic.\n\n### ☁️ **Sync Anywhere**\n- Easily sync configurations across devices using **Git, Dropbox, or cloud services**.\n\n### 🛠️ **Works with Any ZSH Framework**\n- Compatible with **Oh-My-Zsh, Prezto, Antigen, Zim, and more**.\n\n### 🧩 **Fully Customizable**\n- Add, remove, or modify configurations as needed.\n- Ignore specific scripts or modules by naming them with `#`.\n\n## 🛠️ Usage\n\n### **Adding Custom Modules**\nPlace your custom ZSH scripts inside the corresponding **modules/** folder:\n\n```bash\nmodules/\n├── common/\n│   ├── aliases.sh   # Shared aliases\n│   ├── functions.sh # Shared functions\n│   ├── style/\n│   │   └── starship.toml  # Custom Starship prompt config\n├── linux/\n│   ├── linux_aliases.sh  # Linux-specific aliases\n├── macos/\n│   ├── macos_shortcuts.sh # macOS-specific functions\n├── windows/\n│   ├── win_helpers.sh     # Windows-specific helpers\n```\n\n### **Ignoring Folders \u0026 Scripts**\nTo prevent specific scripts from being loaded, **prefix the filename or folder with `#`**:\n\n```bash\nmodules/\n├── common/\n│   ├── aliases.sh\n│   ├── #deprecated_aliases.sh  # This file will be ignored\n│   ├── #old_scripts/           # This folder will be ignored\n```\n\n### **Using Environment variables**\nPlace your env variables inside your home directory **~/.env.sh** folder:\n```bash\nexport ENV_VAR1=\"Value1\"\n```\n\n## 🤝 Contributing\nWe welcome contributions! Feel free to submit issues, feature requests, or pull requests.\n\n## 📜 License\nZSH-Manager is open-source and available under the **MIT License**.\n\n---\n\n🔥 **Start using ZSH-Manager today and streamline your ZSH configuration across all platforms!** 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrz07%2Fzsh-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrz07%2Fzsh-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrz07%2Fzsh-manager/lists"}