{"id":27194717,"url":"https://github.com/Easy-Cloud-in/zsh-setup","last_synced_at":"2025-04-09T19:04:17.774Z","repository":{"id":281699229,"uuid":"946017026","full_name":"Easy-Cloud-in/zsh-setup","owner":"Easy-Cloud-in","description":"A powerful Zsh environment setup with Oh My Posh themes, essential plugins, and advanced search capabilities. This repository provides scripts to automatically configure your terminal with modern features and aesthetics.","archived":false,"fork":false,"pushed_at":"2025-04-04T11:41:47.000Z","size":18,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-04T12:29:50.750Z","etag":null,"topics":["fzf","oh-my-posh","oh-my-posh-themes","oh-my-zsh-theme","zsh","zshplugin"],"latest_commit_sha":null,"homepage":"https://easy-cloud.in","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Easy-Cloud-in.png","metadata":{"files":{"readme":"README.md","changelog":"change_posh_theme.sh","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-03-10T13:35:52.000Z","updated_at":"2025-04-04T11:41:50.000Z","dependencies_parsed_at":"2025-03-10T18:22:01.005Z","dependency_job_id":"e82e350e-ee53-4e15-b152-39d5d11cb3e4","html_url":"https://github.com/Easy-Cloud-in/zsh-setup","commit_stats":null,"previous_names":["easy-cloud-in/zsh-setup"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easy-Cloud-in%2Fzsh-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easy-Cloud-in%2Fzsh-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easy-Cloud-in%2Fzsh-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easy-Cloud-in%2Fzsh-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Easy-Cloud-in","download_url":"https://codeload.github.com/Easy-Cloud-in/zsh-setup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248094986,"owners_count":21046770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["fzf","oh-my-posh","oh-my-posh-themes","oh-my-zsh-theme","zsh","zshplugin"],"created_at":"2025-04-09T19:02:28.714Z","updated_at":"2025-04-09T19:04:17.758Z","avatar_url":"https://github.com/Easy-Cloud-in.png","language":"Shell","funding_links":[],"categories":["Tutorials","Recently Updated"],"sub_categories":["Generic ZSH","[Apr 08, 2025](/content/2025/04/08/README.md)"],"readme":"# Enhanced Zsh Setup with Oh My Posh and Fuzzy Search\n\nA powerful Zsh environment setup with Oh My Posh themes, essential plugins, and advanced search capabilities. This repository provides scripts to automatically configure your terminal with modern features and aesthetics.\n\n## System Requirements\n\n- Minimum 256MB RAM\n- 100MB free disk space\n- Internet connection for installation\n- Terminal with Unicode support\n\n## Prerequisites\n\n- Ubuntu/Debian-based Linux distribution\n- Basic terminal knowledge\n- Git installed (`sudo apt install git`)\n- **Nerd Fonts** - Required for proper icon display\n  - If not installed, run `./install_fonts.sh` before proceeding with the setup\n  - Recommended fonts: JetBrainsMono Nerd Font, Meslo LGM Nerd Font, or FiraCode Nerd Font\n  - After installing fonts, configure your terminal to use one of the Nerd Fonts\n  - Restart your terminal after font configuration\n\n## Quick Start\n\n```bash\n# Clone the repository\ngit clone https://github.com/Easy-Cloud-in/zsh-setup.git\ncd zsh-setup\n\n# Make scripts executable\nchmod +x *.sh\n\n# Install and configure Nerd Fonts (if not already installed)\n./install_fonts.sh\n# After font installation, configure your terminal to use a Nerd Font and restart your terminal\n\n# Run the setup script\n./zsh_oh_my_posh_setup.sh\n\n# Start using Zsh (either open a new terminal or run):\nzsh\n```\n\n## Detailed Installation Steps\n\n1. **Clone the Repository**\n\n   ```bash\n   git clone https://github.com/Easy-Cloud-in/zsh-setup.git\n   cd zsh-setup\n   ```\n\n2. **Make Scripts Executable**\n\n   ```bash\n   chmod +x *.sh\n   ```\n\n3. **Install Required Fonts (if not already installed)**\n\n   ```bash\n   ./install_fonts.sh\n   ```\n\n   - Configure your terminal to use one of the installed Nerd Fonts\n   - For VS Code, add to settings.json:\n     ```json\n     {\n       \"terminal.integrated.fontFamily\": \"JetBrainsMono Nerd Font\",\n       \"editor.fontFamily\": \"JetBrainsMono Nerd Font\"\n     }\n     ```\n   - Restart your terminal/editor after font configuration\n\n4. **Run the Setup Script**\n\n   ```bash\n   ./zsh_oh_my_posh_setup.sh\n   ```\n\n5. **Restart Your Terminal**\n   ```bash\n   zsh\n   ```\n\n## Features Installed\n\n### 1. Zsh Plugins\n\n#### Auto Suggestions\n\n- Automatically suggests commands as you type\n- Accept suggestion: `Right Arrow` or `Ctrl + E`\n- Accept word: `Alt + Right Arrow`\n\n#### Syntax Highlighting\n\n- Commands appear in green if valid\n- Red if invalid\n- Yellow for aliases\n- Blue for functions\n\n#### Git Plugin Shortcuts\n\n- `gst` - git status\n- `ga` - git add\n- `gc` - git commit\n- `gp` - git push\n- `gl` - git pull\n- Full list: Run `alias | grep git`\n\n### 2. Fuzzy Search Tools\n\n#### fzf (Fuzzy Finder)\n\n- `Ctrl + T` - Fuzzy file search\n- `Ctrl + R` - Search command history\n- `Alt + C` - Fuzzy directory navigation\n\n#### File Search Functions\n\n```bash\n# Search file contents\nfif \"search term\"\n\n# Find files\nfd pattern\n\n# Search with ripgrep\nrg \"pattern\"\n```\n\n### 3. Oh My Posh Themes\n\nChange theme anytime:\n\n```bash\n./change_posh_theme.sh\n```\n\n## Customization\n\n### Change Theme\n\n1. List themes:\n\n   ```bash\n   ls ~/.oh-my-posh-themes/*.json\n   ```\n\n2. Change theme:\n   ```bash\n   ./change_posh_theme.sh\n   ```\n\n### Modify Configuration\n\n```bash\n# Edit Zsh settings\nnano ~/.zshrc\n\n# Apply changes\nsource ~/.zshrc\n```\n\n## Updates\n\nTo update all components to their latest versions:\n\n```bash\n./zsh_oh_my_posh_setup.sh -f\n```\n\n## Security\n\nThis project:\n\n- Does not collect any personal data\n- Requires sudo access only for package installation\n- Creates backups before modifying any config files\n- All scripts are open source and can be reviewed\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for version history and updates.\n\n## Troubleshooting\n\n### Font Issues\n\n- Make sure Nerd Fonts are installed correctly\n- Verify terminal is using a Nerd Font\n- Try reinstalling fonts: `./install_fonts.sh`\n\n### Theme Issues\n\n```bash\n# Check themes directory\nls -l ~/.oh-my-posh-themes/\n\n# Reinitialize Oh My Posh\noh-my-posh init zsh\n```\n\n### Configuration Issues\n\n```bash\n# Restore backup\ncp ~/.zshrc.backup.* ~/.zshrc\n\n# Rebuild cache\nrm ~/.zcompdump*\ncompinit\n```\n\n### Common Issues\n\n- If you see boxes or question marks instead of icons:\n\n  - Verify terminal is using a Nerd Font\n  - Run `fc-list | grep \"Nerd\"` to confirm font installation\n  - Try different Nerd Font if issues persist\n\n- If prompt looks broken:\n  - Check terminal font settings\n  - Try updating Oh My Posh: `./zsh_oh_my_posh_setup.sh -f`\n  - Verify terminal supports Unicode\n\n## Uninstallation\n\nRemove all components:\n\n```bash\nuninstall_oh_my_zsh\nrm -rf ~/.oh-my-posh-themes\nrm -rf ~/.fzf\nsudo apt remove zsh ripgrep fd-find\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch:\n   ```bash\n   git checkout -b feature/AmazingFeature\n   ```\n3. Commit your changes:\n   ```bash\n   git commit -m 'Add some AmazingFeature'\n   ```\n4. Push to the branch:\n   ```bash\n   git push origin feature/AmazingFeature\n   ```\n5. Open a Pull Request\n\n## License\n\nMIT License - See [LICENSE](LICENSE) for details\n\n## Author\n\n[Sakar SR](https://github.com/Easy-Cloud-in)  \n[Easy-Cloud.in](https://easy-cloud.in)\n\n## Support\n\n- Star this repository if you find it helpful\n- Report issues on GitHub with:\n  - Your OS version\n  - Terminal emulator and version\n  - Steps to reproduce the issue\n  - Error messages (if any)\n- Submit pull requests with improvements\n- Share with others who might benefit\n- Follow [Easy-Cloud.in](https://easy-cloud.in) for updates\n\n## Credits \u0026 Acknowledgments\n\nThis project stands on the shoulders of giants. Special thanks to:\n\n### Core Components\n\n- [Zsh](https://www.zsh.org/) - The powerful shell that makes this possible\n- [Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh) - Framework for managing Zsh configuration\n- [Oh My Posh](https://github.com/JanDeDobbeleer/oh-my-posh) - Prompt theme engine\n- [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) - Iconic font aggregator\n\n### Search Tools\n\n- [fzf](https://github.com/junegunn/fzf) - Command-line fuzzy finder\n- [ripgrep](https://github.com/BurntSushi/ripgrep) - Line-oriented search tool\n- [fd](https://github.com/sharkdp/fd) - Simple, fast alternative to 'find'\n\n### Zsh Plugins\n\n- [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)\n- [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)\n- [zsh-completions](https://github.com/zsh-users/zsh-completions)\n- [fzf-tab](https://github.com/Aloxaf/fzf-tab)\n\n### Additional Tools\n\n- [bat](https://github.com/sharkdp/bat) - A cat clone with syntax highlighting\n\nThese projects have made our terminal experience better, and we're grateful for their continuous work in the open-source community.\n\n---\n\nMade with ❤️ by [Easy-Cloud.in](https://easy-cloud.in)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEasy-Cloud-in%2Fzsh-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEasy-Cloud-in%2Fzsh-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEasy-Cloud-in%2Fzsh-setup/lists"}