https://github.com/sk1t0n/lazyvim-config
Scripts for installing LazyVim and generating lua files
https://github.com/sk1t0n/lazyvim-config
config configuration lazyvim lazyvim-config nvim nvim-config nvim-configuration
Last synced: 3 months ago
JSON representation
Scripts for installing LazyVim and generating lua files
- Host: GitHub
- URL: https://github.com/sk1t0n/lazyvim-config
- Owner: sk1t0n
- License: mit
- Created: 2025-09-28T21:34:59.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-09-30T12:06:26.000Z (3 months ago)
- Last Synced: 2025-09-30T14:22:15.702Z (3 months ago)
- Topics: config, configuration, lazyvim, lazyvim-config, nvim, nvim-config, nvim-configuration
- Language: Shell
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lazyvim_config
Scripts for installing LazyVim and generating Lua files. Users can select the programming languages for which Lua files will be generated. This allows you to install and configure only plugins for the languages you need. Supported languages: Rust, Go.
**Plugins that can install and setup**:
1. General: [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig), [conform.nvim](https://github.com/stevearc/conform.nvim), [neotest](https://github.com/nvim-neotest/neotest), [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter), [nvim-lint](https://github.com/mfussenegger/nvim-lint), [nvim-dap](https://github.com/mfussenegger/nvim-dap), [nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui), [actions-preview.nvim](https://github.com/aznhe21/actions-preview.nvim), [refactoring.nvim](https://github.com/ThePrimeagen/refactoring.nvim), [treesj](https://github.com/Wansmer/treesj), [garbage-day.nvim](https://github.com/Zeioth/garbage-day.nvim), [smartcolumn.nvim](https://github.com/m4xshen/smartcolumn.nvim), [focus.nvim](https://github.com/nvim-focus/focus.nvim), [better-escape.nvim](https://github.com/max397574/better-escape.nvim), [zen-mode.nvim](https://github.com/folke/zen-mode.nvim), [timerly](https://github.com/nvzone/timerly)
2. AI: [windsurf.nvim](https://github.com/Exafunction/windsurf.nvim) or [copilot.vim](https://github.com/github/copilot.vim) + [CopilotChat.nvim](https://github.com/CopilotC-Nvim/CopilotChat.nvim)
3. Rust: [rustaceanvim](https://github.com/mrcjkb/rustaceanvim), [crates.nvim](https://github.com/saecki/crates.nvim)
4. Go: [neotest-golang](https://github.com/fredrikaverpil/neotest-golang), [nvim-dap-go](https://github.com/leoluz/nvim-dap-go)
Table of Contents
- [Requirements](#requirements)
- [Install LazyVim and generate lua files](#install-lazyvim-and-generate-lua-files)
- [Delete configuration](#delete-configuration)
- [Regenerate lua files if needed](#regenerate-lua-files-if-needed)
- [Install dependencies for selected languages](#install-dependencies-for-selected-languages)
- [Rust dependencies](#rust-dependencies)
- [Go dependencies](#go-dependencies)
- [Keymaps](#keymaps)
- [General](#general)
- [LSP](#lsp)
- [refactoring.nvim](#refactoringnvim)
- [treesj](#treesj)
- [bufferline.nvim](#bufferlinenvim)
- [neotest](#neotest)
- [nvim-dap](#nvim-dap)
- [nvim-dap-ui](#nvim-dap-ui)
- [timerly](#timerly)
- [windsurf.nvim](#windsurfnvim)
- [copilot.vim, CopilotChat.nvim](#copilotvim-copilotchatnvim)
- [AI](#ai)
- [Windsurf](#windsurf)
- [Copilot](#copilot)
## Requirements
- [Neovim](https://github.com/neovim/neovim/blob/master/INSTALL.md)
- [Nerd Fonts](https://www.nerdfonts.com/font-downloads) - for to support icons in fonts (example configuration file for [WezTerm](https://github.com/sk1t0n/dotfiles/blob/master/home/anton/.wezterm.lua#L13))
## Install LazyVim and generate lua files
**Linux**:
```bash
make install
# or
make
```
## Delete configuration
**Linux**:
```bash
make delete
# or delete configuration along with backups
make delete DELETE_WITH_BACKUPS=true
```
## Regenerate lua files if needed
**Linux**:
```bash
make generate
```
## Install dependencies for selected languages
### Rust dependencies
You need to install: rust-analyzer, rustfmt, cargo-nextest.
**Linux**:
```bash
rustup component add rust-analyzer
rustup component add rustfmt
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
cargo binstall cargo-nextest --secure
```
### Go dependencies
You need to install: gopls, golangci-lint, golangci-lint-langserver, goimports, golines, delve.
```bash
# install from source (alternative - install binary)
go install golang.org/x/tools/gopls@latest
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest
go install github.com/nametake/golangci-lint-langserver@latest
go install golang.org/x/tools/cmd/goimports@latest
go install github.com/segmentio/golines@latest
go install github.com/go-delve/delve/cmd/dlv@latest
```
## Keymaps
[LazyVim Keymaps](https://www.lazyvim.org/keymaps)
### General
| № | Action | Default Key | Custom Key | Description | Mode |
|:-:|---------|:------------:|:------------:|----------------------|:-----------:|
| 1 | Replace | `` | `` | Move Down | **n, i, v** |
| 2 | Replace | `` | `` | Move Up | **n, i, v** |
| 3 | Add | | `` | Toggle comment line | **n, v** |
| 4 | Replace | `` | `` | Terminal (Root Dir) | **n** |
| 5 | Replace | `` | `` | Hide Terminal | **t** |
| 6 | Add | | `` | Escape terminal mode | **t** |
| 7 | Replace | `-` | `\|` | Split Window Below | **n** |
| 8 | Replace | `\|` | `\` | Split Window Right | **n** |
### LSP
| Key | Description | Mode |
|:------------:|---------------------|:------------:|
| K | Hover | **n** |
| gK | Signature Help | **n** |
| gD | Goto Declaration | **n** |
| gd | Goto Definition | **n** |
| gi | Goto Implementation | **n** |
| `ca` | Code Action | **n**, **v** |
| `cd` | Line Diagnostics | **n** |
| `cr` | Rename | **n** |
### refactoring.nvim
| Key | Description | Mode |
|:------------:|-----------------|:------------:|
| `cR` | Select Refactor | **n**, **v** |
### treesj
| Key | Description | Mode |
|:------------:|----------------------------------|:-----:|
| `cb` | Splitting/joining blocks of code | **n** |
### bufferline.nvim
| Key | Description | Mode |
|:---------:|-------------|:-----:|
| `` | Prev Buffer | **n** |
| `` | Next Buffer | **n** |
### neotest
| Key | Description | Mode |
|:------------:|-------------------------------|:-----:|
| `t` | +test | **n** |
| `tl` | Run Last (Neotest) | **n** |
| `to` | Show Output (Neotest) | **n** |
| `tO` | Toggle Output Panel (Neotest) | **n** |
| `tr` | Run Nearest (Neotest) | **n** |
| `ts` | Toggle Summary (Neotest) | **n** |
| `tS` | Stop (Neotest) | **n** |
| `tt` | Run File (Neotest) | **n** |
| `tT` | Run All Test Files (Neotest) | **n** |
| `tw` | Toggle Watch (Neotest) | **n** |
### nvim-dap
| Key | Description | Mode |
|:------------:|-------------------------|:-----:|
| `da` | Run with Args | **n** |
| `db` | Toggle Breakpoint | **n** |
| `dB` | Breakpoint Condition | **n** |
| `dc` | Run/Continue | **n** |
| `dC` | Run to Cursor | **n** |
| `dg` | Go to Line (No Execute) | **n** |
| `di` | Step Into | **n** |
| `dj` | Down | **n** |
| `dk` | Up | **n** |
| `dl` | Run Last | **n** |
| `do` | Step Out | **n** |
| `dO` | Step Over | **n** |
| `dP` | Pause | **n** |
| `dr` | Toggle REPL | **n** |
| `ds` | Session | **n** |
| `dt` | Terminate | **n** |
| `dw` | Widgets | **n** |
### nvim-dap-ui
| Key | Description | Mode |
|:------------:|-------------|:------------:|
| `de` | Eval | **n**, **v** |
| `du` | Dap UI | **n** |
### timerly
| Key | Description | Mode |
|:-----------:|--------------|:-----:|
| `T` | Toggle Timer | **n** |
### windsurf.nvim
| Key | Description | Mode |
|:------------:|------------------------------|:-----:|
| `` | Codeium previous suggestion | **i** |
| `` | Codeium next suggestion | **i** |
| `` | Codeium accept suggestion | **i** |
| `a` | +ai | **n** |
| `aa` | Open Codeium Chat in Browser | **n** |
### copilot.vim, CopilotChat.nvim
| Key | Description | Mode |
|:------------:|------------------------------|:------------:|
| `` | Copilot previous suggestion | **i** |
| `` | Copilot next suggestion | **i** |
| `` | Copilot accept suggestion | **i** |
| `a` | +ai | **n**, **v** |
| `aa` | Toggle (CopilotChat) | **n**, **v** |
| `ap` | Prompt Actions (CopilotChat) | **n**, **v** |
| `am` | Select Model (CopilotChat) | **n**, **v** |
| `aq` | Quick Chat (CopilotChat) | **n**, **v** |
| `ax` | Clear (CopilotChat) | **n**, **v** |
## AI
Script for generating Lua files will prompt you to select an AI plugin. You can choose Codeium (Windsurf plugin) or GitHub Copilot.
### Windsurf
Setup:
1. Open nvim
2. Run the command `:Codeium Auth`
3. Select the `Open Default Browser` option
4. Copy the generated token
5. Switch to nvim
6. Paste the copied token
### Copilot
Setup:
1. Open nvim
2. Run the command `:Copilot setup`
3. Authorize with GitHub
4. Switch to nvim