An open API service indexing awesome lists of open source software.

https://github.com/iliyankostov9/nvim-config

My personal neovim config.
https://github.com/iliyankostov9/nvim-config

lua neovim vim

Last synced: about 1 year ago
JSON representation

My personal neovim config.

Awesome Lists containing this project

README

          

# :fire: Neovim configuration :fire:




Linux


Neovim minimum version


Top languages

[![License](https://img.shields.io/github/license/iliyan-kostov9/nvim-config)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![Build Status: Lua](https://img.shields.io/github/actions/workflow/status/iliyan-kostov9/nvim-config/lint.yml?branch=master)](https://github.com/iliyan-kostov9/nvim-config/actions?query=branch%3Amaster)
[![GitGuardian scan](https://github.com/iliyan-kostov9/nvim-config/actions/workflows/gitguardian.yaml/badge.svg?branch=master)](https://github.com/iliyan-kostov9/nvim-config/actions/workflows/gitguardian.yaml)

[![GitHub release](https://img.shields.io/github/v/release/iliyan-kostov9/nvim-config)](#)
[![GitHub release date](https://img.shields.io/github/release-date/iliyan-kostov9/nvim-config)](#)
[![GitHub last commit](https://img.shields.io/github/last-commit/iliyan-kostov9/nvim-config)](#)
[![Free](https://img.shields.io/badge/free_for_non_commercial_use-brightgreen)](#-license)


:star: Star us on GitHub — it motivates us a lot!

## 🚀 About

> My personal Neovim configuration.
>

This project contains my personal neovim keybindings, along with a few plugins, that help me be more productive when coding!

> [!INFO]
> I have started using Neovim by using the [kickstart](https://github.com/nvim-lua/kickstart.nvim) template. This was recommended by [The Primeagen](https://github.com/ThePrimeagen)

## 🏝️ Environment


Environment screenshot 1

Environment screenshot 2

Environment screenshot 3

## 🏗️ Structure
I have ordered my modules into different categories:

```markdown
.
├── assets
│ └── neovim_image.png
├── health.lua
├── init.lua
├── lazy-lock.json
├── LICENSE
├── lua
│ ├── code
│ │ ├── init.lua
│ │ └── plugins
│ ├── core
│ │ ├── init.lua
│ │ └── plugins
│ ├── fso
│ │ ├── init.lua
│ │ └── plugins
│ ├── git
│ │ ├── init.lua
│ │ └── plugins
│ ├── helpers
│ │ ├── init.lua
│ │ └── plugins
│ ├── managers
│ │ ├── lazy.lua
│ │ └── ui.lua
│ ├── settings
│ │ ├── autocmd.lua
│ │ ├── init.lua
│ │ ├── keymaps.lua
│ │ └── options.lua
│ ├── themes
│ │ ├── init.lua
│ │ └── plugins
│ └── tracking
│ ├── init.lua
│ └── plugins
└── README.md
```

| Module | Description |
| :------------- | :----------: |
| Assets |Contains the most essential type of plugins|
| health.lua |Used for verifying if there are any configuration issues with Neovim|
| init.lua |Entry point of Neovim configuration|
| Lazy-lock.json |auto generated file, when building the plugins, managed by LazyVim. It is used for pinning the plugins to specific versions|
| Code |Plugin directory for storing code improvements (auto-indent, linting, etc)|
| Core |Contains the most essential plugins. That plugin directory will be the least modified one, comparing to the rest|
| fso (File System Objects) |Contains plugin related features for displaying or manipulating with he file system tree|
| git |Used for storing git related plugins|
| helpers |Plugins, that are uncategorized and help with further using Neovim (mostly related when writing markdown) |
| managers |Plugin manager installer directory|
| settings |Related for storing keymaps and plugin specific options|
| settings |Related for storing keymaps and plugin specific options|
| themes |Plugin directory for storing themes for Neovim|
| tracking |Plugin directory for tracking any type of events when using Neovim (for example track the time and type of language when coding)|

## 🔌 Plugins

Expand to view plugins

1. Code
- [autopairs](https://github.com/windwp/nvim-autopairs)
- [debug](https://github.com/mfussenegger/nvim-dap)
- [indent_line](https://github.com/lukas-reineke/indent-blankline.nvim)
- [jupyter]()
- [lint](https://github.com/mfussenegger/nvim-lint)

2. Core
- [cmp](https://github.com/hrsh7th/nvim-cmp)
- [conform](https://github.com/stevearc/conform.nvim)
- [grapple]()
- [harpoon]()
- [lspconfig](https://github.com/neovim/nvim-lspconfig)
- [mini](https://github.com/echasnovski/mini.nvim)
- [nvim-java]()
- [telescope](https://github.com/nvim-telescope/telescope.nvim)
- [treesitter](https://github.com/nvim-treesitter/nvim-treesitter)

3. Fso
- [neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim)

4. Git
- [gitsigns](https://github.com/lewis6991/gitsigns.nvim)
- [vim-fugitive](https://github.com/tpope/vim-fugitive)

5. Helpers
- [Comment](https://github.com/numToStr/Comment.nvim)
- [better-escape](https://github.com/max397574/better-escape.nvim)
- [ltex-ls]()
- [markdown-preview]()
- [todo-comments](https://github.com/folke/todo-comments.nvim)
- [undotree](https://github.com/mbbill/undotree)
- [which-key](https://github.com/folke/which-key.nvim)

6. Managers
- [LazyVim]()
- UI - *not a plugin, but a configuration extension to LazyVim*

7. Settings *Not a plugin*
- [autocmd]()
- [keymaps]()
- [options]()

8. Themes
- [kanagawa](https://github.com/rebelot/kanagawa.nvim)
- [rose-pine]()
- [vim-devicons](https://github.com/ryanoasis/vim-devicons)

9. Tracking
- [Wakatime](https://wakatime.com/neovim-plugin)

## :wrench: LSP (Mason)
This part contains all of the Language servers.

Expand to view LSP


  • Ansible

    • ansible-language-server

    • ansible-lint


  • Terraform

    • terraform-ls

    • tflint


  • Python

    • black

    • pylint

    • pyright

    • mypy

    • isort


  • Java

    • google-java-format

    • java-debug-adapter

    • java-test

    • jdtls

    • lombok-nightly


  • Kotlin

    • kotlin-debug-adapter

    • kotlin-language-server

    • ktfmt


  • C#

    • csharp-language-server

    • csharpier


  • Go

    • delve


  • Lua

    • stylua

    • lua-language-server


  • Nix

    • nixpkgs-fmt

    • rnix-lsp


  • CMake

    • cmake-language-server


  • Virt

    • dockerfile-language-server


  • JavaScript

    • typescript-language-server

    • eslint-lsp

    • eslint_d


  • Utils

    • azure-pipelines-language-server

    • editorconfig-checker

    • markdownlint

    • prettier

    • prettierd

    • xmlformatter

    • yaml-language-server

    • yamllint



## 🤝 Acknowledgments

I couldn't have learned about neovim and lua configuration in this short amount of time, without the help of the Neovim community:

- [kickstart](https://github.com/nvim-lua/kickstart.nvim)

### 🔍️ References

This section I will reference the official and non-official docs for helping me learn Vim motions and the Neovim ecosystem.

#### 📚 Docs
- [ Neovim docs ](https://neovim.io/doc/)

### 📃 License
This product is licensed under [GNU General Public License](https://www.gnu.org/licenses/gpl-3.0.en.html)