A modular, multi-language development environment powered by LazyVim
Multi-language support, minimalist design, and advanced developer tools.
- Zero Configuration – Works out of the box with automatic plugin installation.
- Minimalist Design – Clean, distraction-free interface with auto-hiding elements.
- Multi-Language Support – Supports over 20 languages, including Rust, Python, JavaScript, Swift, and more.
- Optional AI Integration – CodeCompanion supports multiple providers (OpenAI, Anthropic, Gemini).
- Advanced Development Tools – Integrated debugging, testing, Git, and LSP support.
- LazyVim-Based – Modular architecture for easy customization and extension.
- Extensive Theming – Multiple color schemes with custom fixes and a responsive UI.
- Performance Optimized – Fast startup with lazy loading and efficient plugin management.
- Clean Interface – No line numbers, auto-hiding elements
- Focus Mode – Distraction-free coding environment
- Multiple Themes – Extensive colorscheme support with custom fixes
- Responsive UI – Adapts to your workflow needs
- Debugging – Full DAP integration with multi-language support
- Git Integration – Advanced Git workflows and browsing
- LSP Configuration – Comprehensive language server setup
- Testing – Built-in test running and debugging
- Code Quality – Formatting, linting, and static analysis
- Documentation – Docsets integration and help systems
- CodeCompanion – Chat, inline code suggestions, and automated workflows
- Multiple Providers – OpenAI, Anthropic, Google Gemini, and more (optional)
- Semantic Code Search – Enhanced navigation and analysis
- Systems Programming: Rust, C, Zig, Hare, Odin
- Web Development: HTML/CSS, JavaScript, Tailwind CSS
- Backend: Python, Elixir, Ruby, Java, SQL
- Mobile: Swift, Dart (Flutter)
- Functional: Clojure, Standard ML
- Creative Coding: SonicPi (music programming)
- Emerging: Nim, Mojo, V, QBE IR, ISPC
- DevOps: Docker, CMake, Nix, Shell scripting
- Clean Interface – No line numbers, auto-hiding elements
- Focus Mode – Distraction-free coding environment
- Multiple Themes – Extensive colorscheme support with custom fixes
- Responsive UI – Adapts to your workflow needs
- Debugging – Full DAP integration with multi-language support
- Git Integration – Advanced Git workflows and browsing
- LSP Configuration – Comprehensive language server setup
- Testing – Built-in test running and debugging
- Code Quality – Formatting, linting, and static analysis
- Documentation – Docsets integration and help systems
- Neovim 0.11+
- Git
- Nerd Font (recommended)
- Node.js (required for some language servers)
-
Backup your current configuration:
mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak
-
Clone this configuration:
git clone https://github.com/igorgue/dotnvim ~/.config/nvim
-
Start Neovim:
nvim
-
Allow plugins to install automatically. LazyVim will bootstrap and install everything on the first run.
~/.config/nvim/
├── init.lua # Entry point
├── lua/
│ ├── config/ # Core Neovim configuration
│ │ ├── autocmds.lua # Auto commands
│ │ ├── keymaps.lua # Key mappings
│ │ ├── lazy.lua # Plugin manager setup
│ │ ├── options.lua # Neovim options
│ │ └── cmds.lua # Custom commands
│ ├── plugins/ # Plugin configurations
│ │ ├── ai/ # AI-related plugins
│ │ │ ├── codecompanion.lua
│ │ │ ├── copilot.lua
│ │ │ └── ...
│ │ ├── extras/ # Optional features
│ │ │ ├── lang/ # Language-specific configs
│ │ │ ├── ai/ # Additional AI tools
│ │ │ └── ...
│ │ ├── coding.lua # Code editing enhancements
│ │ ├── colorscheme.lua # Theme configuration
│ │ ├── editor.lua # Editor functionality
│ │ ├── git.lua # Git integration
│ │ ├── lsp.lua # Language server setup
│ │ ├── treesitter.lua # Syntax highlighting
│ │ └── ui.lua # User interface
│ └── utils/ # Utility functions
├── snippets/ # Custom code snippets
├── ftplugin/ # Filetype-specific settings
└── assets/ # Documentation assets
This configuration is built on LazyVim, making it highly modular and customizable:
- Add Languages: Create files in
lua/plugins/extras/lang/
- Customize Keymaps: Edit
lua/config/keymaps.lua
- Add Plugins: Create new files in
lua/plugins/
- Theme Changes: Modify
lua/plugins/colorscheme.lua
- Enable or disable AI features: AI tools are optional and can be configured in
lua/plugins/extras/ai/
This configuration includes many LazyVim extras for enhanced functionality:
- DAP (Debug Adapter Protocol)
- Language support for over 20 languages
- Advanced editor features (Navic, Dial, Snacks Explorer)
- Code formatting and linting
This is a personal configuration, but feel free to:
- Open issues for bugs or suggestions
- Fork and adapt it to your needs
- Share improvements via pull requests
See the LICENSE file for details.
Built by @igorgue