Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josephgoksu/nvim-config
my nvim config
https://github.com/josephgoksu/nvim-config
Last synced: about 23 hours ago
JSON representation
my nvim config
- Host: GitHub
- URL: https://github.com/josephgoksu/nvim-config
- Owner: josephgoksu
- License: unlicense
- Created: 2024-10-18T08:41:28.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-05T09:33:29.000Z (about 2 months ago)
- Last Synced: 2024-12-19T01:57:27.517Z (4 days ago)
- Language: Lua
- Size: 53.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# My Nvim Configuration
This repository contains my custom configuration for NvChad. It uses the main NvChad repository as a plugin and extends its functionality.
## Structure
### Core Files
- `init.lua` - Main entry point for Neovim configuration
- `lua/options.lua` - Custom Vim options (extends NvChad defaults)
- `lua/mappings.lua` - Custom key mappings
- `lua/chadrc.lua` - NvChad theme and UI configurations### Plugin Management
- `lua/plugins/init.lua` - Plugin declarations and configurations using lazy.nvim
- `lua/configs/lazy.lua` - Lazy plugin manager settings and optimizations### LSP Configuration
- `lua/configs/lspconfig.lua` - Language Server Protocol configurations
- `lua/configs/mason-lspconfig.lua` - Automatic LSP server installation management### Code Quality Tools
- `lua/configs/formatting.lua` - Consolidated formatting configurations (conform.nvim and mason-conform)
- `lua/configs/lint.lua` - Linting configurations with nvim-lint
- `lua/configs/mason-lint.lua` - Automatic linter installation management### Syntax Highlighting
- `lua/configs/treesitter.lua` - Treesitter configurations for better syntax highlighting
## Key Features
1. **Formatting Support** via conform.nvim for:
- Lua (stylua)
- Go (gofumpt, goimports-reviser, golines)
- JavaScript/TypeScript (prettier, eslint_d)
- HTML/CSS (prettier)
- JSON/YAML (prettier, jq)
- Shell scripts (shellcheck)
- And more...2. **LSP Support** for multiple languages:
- Lua (lua_ls)
- Go (gopls)
- TypeScript (ts_ls)
- Python (pyright)
- C/C++ (clangd)
- HTML/CSS
- Bash (bashls)
- AWK (awk_ls)3. **Linting Integration** with nvim-lint:
- Lua (luacheck)
- Automatic linter installation via mason-nvim-lint4. **Automatic Tool Management** via Mason for:
- LSP servers (mason-lspconfig)
- Formatters (mason-conform)
- Linters (mason-nvim-lint)5. **Editor Features**:
- Telescope integration with file ignore patterns
- Custom key mappings (including `;` for command mode)
- Block cursor in all modes
- 4-space indentation
- Line numbers enabled## Installation
1. Ensure you have Neovim >= 0.9.0 installed
2. Clone this repository to your Neovim configuration directory:
```bash
git clone https://github.com/yourusername/nvim-config ~/.config/nvim
```
3. Delete the .git directory or fork it for your own use:
```bash
rm -rf ~/.config/nvim/.git
```
4. Start Neovim and let it install the plugins## Requirements
- Neovim >= 0.9.0
- Git
- A C compiler for Treesitter
- Node.js for LSP servers
- Various language-specific tools (will be installed automatically by Mason)## Credits
1. NvChad - Base configuration framework
2. LazyVim starter - Inspiration for configuration structure## License
This project is released into the public domain. See the LICENSE file for details.
Note: This configuration requires NvChad as a base. Make sure you have NvChad properly installed.