Skip to content

matteocavestri/nevica

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

❄️ Nevica: Your Ultimate Vim-based IDE

Nevica is a Nixvim-based distribution designed to provide a complete IDE experience directly in Vim. 🌟 Whether you’re coding in languages like C, Python, Golang, or Nix, Nevica equips you with all the essential tools you need for maximum productivity! 🚀

Configured to offer support for each programming language, Nevica allows you to quickly enable features for specific languages through its flavours menu (available in ./profiles) or configure utilities in the ./modules/languages directory.

🚀 How to Install

All you need is Nix (available on any OS). To get started, just run:

nix run github:matteocavestri/nevica#nevica
# or for a specific flavour
nix run github:matteocavestri/nevica#flavour-name

🔧 Key Features

Nevica provides everything you need to work seamlessly, including:

  • 🎨 Syntax Highlighting: Beautiful code coloring with Treesitter.
  • 🧠 Language Server Protocol (LSP): Full LSP support for a smooth coding experience.
  • 🔍 File Finder: Quickly find files and symbols with Telescope.
  • 🐛 Debugging: Integrated debugging with nvim-dap and dap-ui.
  • ⚙️ Completion: Smart code completion with nvim-cmp.
  • 📝 Formatter: Automatic code formatting with lsp_format and none_ls.
  • 🚨 Diagnostics & Code Actions: Linting, diagnostics, and contextual actions with none_ls.
  • 🗂️ File Tree: Easily navigate your files with Neo-tree.
  • 🎹 Keymap Guide: Can’t remember the keybindings? No worries, WhichKey has you covered!
  • 🧪 Testing Framework: Run your tests effortlessly with Neotest.
  • 🔍 Git Integration: Optimized Git management with LazyGit.
  • 🔧 And much more...: Explore the countless features and customizations that Nevica offers.

Easy Customization

Nevica is highly customizable! You can enable or disable features in the ./custom module, and even override default options using lib.mkForce.

Example:

nevica.languages.nix.enable = lib.mkForce false;

You can also add your own Nixvim configurations to create your ideal development environment.

💡 Contribute to Nevica

Love Vim and want to help? 🎉 Contributions are more than welcome! Check out the language support table below, and if something is missing or incomplete, feel free to contribute and improve Nevica.

🛠️ Supported Languages

🌐 Language LSP Formatter Diagnostic Debugger Test
C 🔜
C++ 🔜
Go ✅ (x3)
Java
Nix ✅ (x3)
Python ✅ (x2)
Rust
Scala

Legend:

  • ✅ Full support
  • ❌ Not implemented / Not needed
  • ⏰ Work in progress
  • 🔜 Coming soon

📝 Notes

In the ./oldConfig directory, you can find the previous Nevica configuration. This version is temporarily kept during the migration phase as some things may still be useful. However, do not rely on this version as it is deprecated and will no longer be updated.

🛡️ Licensing Information

  • The core Nevica project is licensed under the GNU General Public License v2.0 or later (GPL-2.0-or-later). You can find the full text of the license in the LICENSE file.
  • Everything contained in the ./oldConfig directory is licensed under the MIT License.

About

Nevica text editor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages