6 Commits

Author SHA1 Message Date
marvin.dietermann
7021c915e6 fix(neovim): migrate LSP config to native vim.lsp.config API
Replace deprecated require("lspconfig") setup with the Neovim 0.11+
native vim.lsp.config/vim.lsp.enable API. Clangd config now lives in
lsp/clangd.lua instead of the old plugins/lspconfig.lua +
configs/lspconfig.lua pair.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 15:02:01 +02:00
marvin.dietermann
1f42e42bd1 feat: add Nerd Font installation, Yazi file manager, and themed Yazi config
- Install JetBrainsMono Nerd Font for icons across all TUI tools
- Add Yazi as terminal file manager with themed config per colorscheme
- Add write_yazi_config() to all 5 theme files
- Theme switcher (archduino-theme) now also updates Yazi
- Add 'y' alias for yazi in shell config
- Update step numbering (9 -> 11 steps) and README
2026-04-10 13:03:46 +02:00
marvin.dietermann
1e5b9a61a0 feat(neovim): migrate user plugins from LazyVim to NvChad
When a LazyVim config is detected, user-added plugin files are now
salvaged before the old config is removed. Managed and LazyVim-specific
files are filtered out, and remaining plugins are restored into the new
NvChad config with LazyVim references stripped. Both frameworks use
lazy.nvim, so most plugin specs are directly compatible.
2026-04-10 12:52:39 +02:00
marvin.dietermann
fbc1e60afc style: normalize whitespace and line endings in shell scripts
- 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.
2026-04-10 12:46:48 +02:00
marvin.dietermann
040839862d refactor(install): improve modular architecture and error handling
- 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
2026-04-10 11:51:03 +02:00
marvin.dietermann
c9fa40b31c refactor: restructure installation to modular architecture
- 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.
2026-04-10 11:41:21 +02:00