{"id":18658667,"url":"https://github.com/cschindlbeck/nvim","last_synced_at":"2026-05-20T05:04:34.696Z","repository":{"id":232335309,"uuid":"730357825","full_name":"cschindlbeck/nvim","owner":"cschindlbeck","description":"Neovim config files, 100% lua, with CI and pre-commit","archived":false,"fork":false,"pushed_at":"2025-08-31T04:57:25.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-31T06:25:23.516Z","etag":null,"topics":["lua","luacheck","markdownlint","neovim","neovim-config","neovim-configuration","neovim-dotfiles","neovim-lua","pre-commit"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cschindlbeck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-12-11T18:44:16.000Z","updated_at":"2025-08-31T04:57:28.000Z","dependencies_parsed_at":"2025-09-12T22:33:01.482Z","dependency_job_id":null,"html_url":"https://github.com/cschindlbeck/nvim","commit_stats":null,"previous_names":["cschindlbeck/nvim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cschindlbeck/nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cschindlbeck%2Fnvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cschindlbeck%2Fnvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cschindlbeck%2Fnvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cschindlbeck%2Fnvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cschindlbeck","download_url":"https://codeload.github.com/cschindlbeck/nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cschindlbeck%2Fnvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274886962,"owners_count":25368228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua","luacheck","markdownlint","neovim","neovim-config","neovim-configuration","neovim-dotfiles","neovim-lua","pre-commit"],"created_at":"2024-11-07T07:33:59.945Z","updated_at":"2026-05-20T05:04:34.684Z","avatar_url":"https://github.com/cschindlbeck.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡ Neovim config\n\n![pre-commit](https://github.com/cschindlbeck/nvim/actions/workflows/pre-commit.yml/badge.svg)\n\nChris' personal Neovim configuration, written entirely in Lua using [💤 lazy.nvim](https://github.com/folke/lazy.nvim).\n\n## 📦 Install\n\n```bash\ngit clone https://github.com/cschindlbeck/nvim.git ~/.config/nvim\n```\n\n## 🔧 Requirements\n\n- **Neovim** ≥ 0.10 (tested against latest stable, currently NVIM v0.12)\n- **Git**, **curl** (for lazy.nvim bootstrap)\n- **Node.js / npm** (LSP servers, Copilot)\n- **A [Nerd Font](https://www.nerdfonts.com/)** (icons in UI)\n- **xclip** or **xsel** (clipboard integration on Linux)\n- Mason will automatically install all LSP servers, formatters and linters on first launch.\n\n## 🗂️ Structure\n\n```text\ninit.lua                  Entry point: bootstraps lazy.nvim, loads config, sets up plugins\nlua/\n  config/\n    general.lua           vim.opt / vim.g settings (leader key, indent, UI)\n    autocmds.lua          Autocommands\n    keymaps.lua           Global keybindings\n    diagnostics.lua       Diagnostic display configuration\n  plugins/\n    avante.lua            Avante.nvim AI chat sidebar\n    bufferline.lua        Buffer tab bar (bufferline.nvim)\n    codepilot.lua         AI inline completion (Copilot active; ChatGPT, Codeium, llm.nvim selectable)\n    colorscheme.lua       Colorscheme (Nord active; Catppuccin, Dracula, VSCode selectable)\n    completion.lua        Autocompletion (nvim-cmp + LuaSnip)\n    dashboard.lua         Start screen (snacks.nvim dashboard)\n    explorer.lua          File explorer (snacks.nvim)\n    git.lua               Git integration (gitsigns, fugitive, git-conflict, lazygit)\n    lsp-config.lua        LSP servers via mason + nvim-lspconfig\n    lualine.lua           Status line (lualine.nvim)\n    motions.lua           Enhanced navigation (flash.nvim)\n    none-ls.lua           Formatters and linters bridged as LSP (none-ls)\n    search.lua            Fuzzy finder and grep (snacks.nvim picker)\n    terminal.lua          Integrated terminal (snacks.nvim)\n    tmux.lua              Tmux navigation integration\n    treesitter.lua        Syntax highlighting and code parsing (nvim-treesitter)\n    trouble.lua           Diagnostics list (trouble.nvim)\n```\n\n## 🔋 Features\n\n### 🎨 Colorschemes\n\nSelectable in `lua/plugins/colorscheme.lua` (change the `return` at the bottom):\n\n| Scheme | Plugin |\n| --- | --- |\n| **Nord** *(active)* | `gbprod/nord.nvim` |\n| Catppuccin | `catppuccin/nvim` |\n| Dracula | `Mofiqul/dracula.nvim` |\n| VSCode | `Mofiqul/vscode.nvim` |\n\n### 🤖 AI Assistance\n\nSelectable in `lua/plugins/codepilot.lua`:\n\n| Tool | Plugin | Notes |\n| --- | --- | --- |\n| **GitHub Copilot** *(active)* | `zbirenbaum/copilot.lua` + `jvune0/copilot-cmp` | Inline completion via nvim-cmp |\n| **Avante.nvim** *(active)* | `yetone/avante.nvim` | AI chat sidebar, powered by Copilot |\n| ChatGPT | `jackMort/ChatGPT.nvim` | Requires `OPENAI_API_KEY` |\n| Codeium | `Exafunction/codeium.vim` | Free alternative |\n| llm.nvim | `huggingface/llm.nvim` | Open-source, requires glibc ≥ 2.32 |\n\n### 🧠 LSP Servers\n\nManaged by [Mason](https://github.com/williamboman/mason.nvim) and configured via `nvim-lspconfig`:\n\n`bashls` · `dockerls` · `docker_compose_language_service` · `gopls` · `helm_ls` ·\n`lua_ls` · `pyright` · `terraformls` · `texlab` · `yamlls`\n\n### 🖊️ Formatters \u0026 Linters\n\nBridged via [none-ls](https://github.com/nvimtools/none-ls.nvim):\n\n| Type | Tools |\n| --- | --- |\n| Formatters | `black`, `isort`, `stylua`, `shfmt`, `terraform_fmt`, `markdownlint` |\n| Linters | `hadolint`, `markdownlint`, `yamllint` |\n\n### ⌨️ Key Bindings\n\nLeader key: `\u003cSpace\u003e`\n\n| Key | Action |\n| --- | --- |\n| `\u003cleader\u003eff` | Find files (smart picker) |\n| `\u003cleader\u003efg` | Grep across project |\n| `\u003cleader\u003efr` | Recent files |\n| `\u003cleader\u003efb` | Search open buffers |\n| `\u003cleader\u003ee` | Toggle file explorer |\n| `\u003cleader\u003ett` | Toggle terminal |\n| `\u003cleader\u003eth` | Open terminal below |\n| `\u003cleader\u003etv` | Open terminal to the right |\n| `\u003cleader\u003etf` | Open floating terminal |\n| `\u003cleader\u003elg` | Open lazygit |\n| `\u003cleader\u003egb` | Git blame |\n| `\u003cleader\u003egp` | Preview git hunk |\n| `\u003cleader\u003egf` | Format buffer |\n| `\u003cleader\u003ern` | LSP rename |\n| `\u003cleader\u003eca` | LSP code action |\n| `\u003cleader\u003etr` | Toggle trouble diagnostics list |\n| `gd` / `gD` | Go to definition / declaration |\n| `gi` / `gr` | Go to implementation / references |\n| `K` | Hover documentation |\n| `[d` / `]d` | Previous / next diagnostic |\n| `\u003cC-s\u003e` | Save file |\n| `\u003cS-h\u003e` / `\u003cS-l\u003e` | Previous / next buffer |\n| `\u003cC-h/j/k/l\u003e` | Navigate splits |\n| `\u003cleader\u003ey` / `\u003cleader\u003eY` | Yank to system clipboard |\n| `\u003cleader\u003ep` | Paste from system clipboard |\n| `\u003cleader\u003ed` | Delete to void register |\n| `\u003cleader\u003ebd` | Delete buffer |\n\n## 🛡️ Code Quality\n\n[pre-commit](https://pre-commit.com/) is used for all linting and formatting.\n\nHooks included:\n\n| Hook | Tool | Purpose |\n| --- | --- | --- |\n| `stylua` | StyLua | Lua formatting (2-space indent, 120 col) |\n| `luacheck` | luacheck | Lua linting |\n| `codespell` | codespell | Spell check in comments and docs |\n| `yamlfmt` | yamlfmt | YAML formatting |\n| `markdownlint` | markdownlint | Markdown linting |\n\nInstall hooks (runs automatically on every `git commit`):\n\n```bash\npre-commit install\n```\n\nRun all hooks manually:\n\n```bash\npre-commit run -a\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcschindlbeck%2Fnvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcschindlbeck%2Fnvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcschindlbeck%2Fnvim/lists"}