- Standardize indentation and spacing across install.sh and lib files
- Fix line ending inconsistencies for better cross-platform compatibility
- Improve curl flag usage in neovim.sh (-kLo with explicit temp path)
- Add theme persistence functionality to remember user's colorscheme choice
These changes improve code consistency and add the ability to save/restore
the selected theme across sessions.
- Remove redundant installation checks in arduino.sh, git.sh
- Add bash shell enforcement in install.sh to prevent compatibility issues
- Streamline Arduino CLI installation logic for both Arch and other systems
- Improve Git and Lazygit installation messaging consistency
- Update install usage instructions for better clarity
- Enhance shell compatibility by enforcing bash execution
- Remove monolithic bootstrap.sh in favor of modular design
- Add install.sh as new main entry point with improved UX
- Split functionality into focused modules:
- lib/common.sh: shared utilities and environment detection
- lib/packages.sh: base system packages
- lib/neovim.sh: Neovim and LazyVim setup
- lib/arduino.sh: Arduino CLI and board cores
- lib/git.sh: Git and Lazygit configuration
- lib/shell-config.sh: Zsh and shell environment
- lib/starship.sh: Starship prompt setup
- lib/zellij.sh: Zellij terminal multiplexer
- lib/scaffold.sh: project scaffolding utilities
- Update README with new installation instructions and architecture
- Improve error handling and user feedback across modules
- Maintain compatibility with both Arch Linux and Ubuntu/WSL2
This modular approach enables better maintainability, testing,
and allows users to selectively run components as needed.