This is a major refactoring and documentation effort that touches every module in the project.
- **Exhaustive In-Code Documentation:** Every module script in the `modules/` directory has been updated with detailed comments. This includes header descriptions, explanations for each function, and justifications for complex logic. This greatly improves the maintainability and readability of the code.
- **Code Robustness and Optimization:** Several modules have been refactored to be more robust and efficient. This includes:
- Optimizing package installations by grouping them into a single `pacman` command.
- Improving dependency checks.
- Standardizing the use of helper functions from `common.sh`.
- Making network operations more resilient.
- **Comprehensive `Readme.md` Update:** The main `Readme.md` has been rewritten to be a complete and professional guide to the project. It now includes:
- A clear and detailed description of each module.
- Information on what each module installs and how it works.
- Instructions for installing the required Nerd Font for `oh-my-posh`.
- An updated structure that is easier to navigate.
- Updated the installation menu to include DaVinci Resolve in the "Install All" option.
- Added a new function `run_module_with_retry` to retry failed module executions.
- Integrated retry logic into the installation process for background tasks.
- Improved logging messages for better clarity during installation.
- Created a dedicated logs directory to store installation logs and updated the log file path.
- Added a .gitignore file to exclude the logs directory from version control.
- Created a log file capturing the setup process for the Omarchy script.
- Included detailed steps for installing Zsh and related tools.
- Documented errors encountered during package installations due to database lock.
- Logged successful installations and configuration updates for Zsh and Oh My Zsh.
- Captured user prompts and actions taken during the setup process.
- Added speedtest-cli to the list of applications installed via pacman.
- Included a system update command to prevent dependency conflicts, with error handling for update failures.
- Implemented protanopia shader to simulate red color blindness.
- Added purple haze shader for a magenta tint overlay.
- Created retro glow shader to mimic old terminal text glow.
- Developed retro VHS shader to replicate VHS tape effects.
- Introduced saturate shader to increase color saturation.
- Added scanlines shader for a pure scanline effect.
- Created sepia shader for a vintage sepia tone effect.
- Developed soft contrast shader for reduced contrast viewing.
- Implemented solarize shader for a solarization effect.
- Added sunset shader for a warm orange/pink gradient.
- Created system meltdown shader to simulate overheating system failure.
- Developed technicolor shader for a classic Technicolor film look.
- Introduced thermal shader to mimic thermal camera vision.
- Added tritanopia shader to simulate blue-yellow color blindness.
- Created tritone shader for three color gradient mapping.
- Developed underwater shader for an underwater effect.
- Introduced vaporwave shader for aesthetic vaporwave colors.
- Added vibe-00s shader for a 2000s digital camera look.
- Created vibe-40s shader for a 1940s film noir aesthetic.
- Developed vibe-50s shader for a 1950s Technicolor cinema look.
- Introduced vibe-60s shader for a 1960s psychedelic color palette.
- Added vibe-70s shader for a 1970s warm, earthy film stock look.
- Created vibe-80s shader for an 1980s neon/Miami Vice aesthetic.
- Developed vibe-90s shader for a 1990s slightly desaturated, cool tones look.
- Introduced vintage film shader for a classic film look with vignette.
- Added vintage shader for a general vintage film look.
- Created warm tone shader to add a warm orange/yellow tint.
- Developed x-ray shader for an x-ray vision effect.