Personal Statement
I stand in solidarity with the Palestinian people and support their fundamental human rights. I oppose ongoing violence, occupation, and human rights violations, and I call for justice, dignity, and freedom for all.
The over-engineered Neovim distribution for developers who want everything
Adev.nvim is a feature-rich Neovim configuration that provides a complete development environment out of the box. Built with modern Neovim features and carefully selected plugins, it offers blazing-fast performance while maintaining extensive functionality. Includes custom-plugin support, update-manager, feature-flags system, and ADConfig for easy configuration.
- Neovim 0.11.0 or higher
- Git
- Node.js 16+ (for LSP servers)
- A terminal with modern features
-
Clone the repository:
git clone https://github.com/abdellatif-temsamani/adev.nvim ~/.config/nvim -
Start Neovim:
nvim
-
Install plugins:
:Lazy sync
That's it! Adev.nvim will automatically install all plugins and LSP servers on first run.
- Plugin Management: lazy.nvim package manager with lazy-loaded plugins and 30+ carefully selected plugins
- LSP Support: Built-in Language Server Protocol support for 30+ languages
- Modern Completion: Blink.cmp with fuzzy matching and snippet support
- Syntax Highlighting: Tree-sitter for advanced syntax parsing
- Git Integration: Git signs, blame, hunk navigation, and GitHub integration
- UI Enhancements: Custom status line, notifications, and file explorer
- Feature Flags: Toggle experimental features and plugins
- Custom Plugins: Easy-to-add user plugins without modifying core files
- Update Manager: Automatic update checking and seamless upgrades
- ADConfig: Modular configuration system for easy customization
Adev.nvim supports adding your own custom plugins without modifying the core
configuration. Custom plugins are stored in the lua/adev/custom-plugins/
directory.
Create a new file in lua/adev/custom-plugins/, for example my-plugin.lua:
return {
{
"author/plugin-name",
opts = {
-- config here
},
keys = {
{ "<leader>mp", "<cmd>MyPluginCommand<cr>", desc = "My plugin command" }
}
}
}lua/adev/custom-plugins/ are intended for
personal use and are not tracked by version control. This prevents committing
personal or sensitive plugin configurations to the repository.
If you want to share your custom plugins or include them in version control, consider:
- Moving them to a separate repository
- Using a fork of Adev.nvim
- Contributing them upstream if they benefit the community
<leader>ff- Find files<leader>fg- Grep search<leader>n- Open file explorer<leader>b- List buffers
<leader>gd- Go to definition<leader>gr- Find references<leader>gc- Code actions<leader>gf- Format code
- Open a project:
cd my-project && nvim - Find files:
<leader>ff - Start coding with LSP autocompletion
- Use
<leader>gcfor quick fixes - Commit changes with git integration
For comprehensive keybindings and advanced usage, see doc/adev.txt.
Startup time measured on a typical development machine using Lazy.nvim.
- Average startup: ~50-100ms
- Memory usage: Optimized with lazy loading
- Plugin count: 30+ plugins with conditional loading
- LSP servers: Auto-installed only when needed
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
