My Neovim config.
- Plugin management with lazy.nvim
- Auto-completion
- Package management with mason.nvim
- LSP support
- Format on save
- Git integration
- Linter
- Fuzzy finder
Make sure that Neovim is installed.
Clone the repo to Neovim config directory
(~/.config/nvim on Linux/macOS or ~/AppData/Local/nvim on Windows):
git clone https://github.com/emirhan8180/nvim-config ~/.config/nvim \
# ~/AppData/Local/nvim on WindowsInstall packages that you need with Mason by typing :Mason.
This configuration uses the following packages, you can install the ones that
you need:
- Rust
- rust-analyzer
- Lua
- lua-language-server
- stylua
- HTML
- html-lsp
- htmlhint
- emmet-language-server
- Markdown
- markdownlint
- marksman
- JavaScript/TypeScript
- typescript-language-server
- biome
- YAML
- yamlls
- yamllint
- SQL
- sqls (might need to be configured at
~/.config/sqls/config.yml) - sqlfluff
- sqls (might need to be configured at
- Prettier
Top level init.lua is for setting up everything and it should only require
config files (or only do one-line setups).
/lsp directory includes LSP configurations.
/lua/config includes the following configurations:
keymaps.luafor setting keymapslazy.luafor setting up lazy.nvimlsp.luaenables LSP serversoptions.luafor editor options
/lua/plugins is for setting up and configuring plugins.
Plugins are organized by feature except some bigger plugins,
which are in their own files.