{"id":19308208,"url":"https://github.com/obscurely/neovim","last_synced_at":"2026-05-16T15:33:08.745Z","repository":{"id":42486627,"uuid":"477360107","full_name":"Obscurely/neovim","owner":"Obscurely","description":"My neovim configuration (that is based on NVChad). Also includes installer script for ArchLinux","archived":false,"fork":false,"pushed_at":"2025-02-09T13:46:53.000Z","size":92,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T14:35:24.513Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Obscurely.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-04-03T14:06:06.000Z","updated_at":"2025-02-09T13:46:56.000Z","dependencies_parsed_at":"2025-01-06T01:24:12.533Z","dependency_job_id":"a6e3a8fe-4e75-4843-a335-3218bca377ba","html_url":"https://github.com/Obscurely/neovim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2Fneovim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2Fneovim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2Fneovim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2Fneovim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Obscurely","download_url":"https://codeload.github.com/Obscurely/neovim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240409841,"owners_count":19796795,"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","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":[],"created_at":"2024-11-10T00:14:06.302Z","updated_at":"2026-05-16T15:33:08.740Z","avatar_url":"https://github.com/Obscurely.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neovim Configuration\n\n## Overview\n\nNvChad v2.5-based (starter for lsp, cmp, themes) Neovim configuration optimized for speed, unified debugging, and strict static analysis. Configured specifically for NixOS environments with declarative dependency management (Mason disabled).\n\n## Language Toolchain\n\n| Language / Stack         | Language Server (LSP)              | Formatter                    | Linter / Analysis                        |\n| :----------------------- | :--------------------------------- | :--------------------------- | :--------------------------------------- |\n| **Rust**                 | `rust_analyzer` (rustaceanvim)     | `rustfmt`                    | Built-in                                 |\n| **Python**               | `pyright`                          | `ruff`                       | `ruff`, `bandit`                         |\n| **C / C++ / C#**         | `clangd`, `csharp_ls`              | `clang-format`, `uncrustify` | `cppcheck`                               |\n| **Go**                   | `gopls`                            | `gofumpt`                    | Built-in                                 |\n| **Web (JS/TS/HTML/CSS)** | `ts_ls`, `eslint`, `html`, `cssls` | `prettier` / `prettierd`     | `eslint`, `tidy`                         |\n| **Infrastructure / IaC** | `terraformls`, `dockerls`          | `terraform_fmt`              | `tfsec`, `tflint`, `hadolint`            |\n| **Nix**                  | `nil_ls`                           | `alejandra`                  | `deadnix`, `statix`                      |\n| **Shell**                | `bashls`                           | `shfmt`                      | `shellcheck`                             |\n| **Data / Config**        | `jsonls`, `yamlls`, `taplo`        | `yamlfmt`, `prettier`        | `yamllint`, `actionlint`, `ansible-lint` |\n\n## Core Subsystems\n\n| Subsystem             | Implementation                    | Purpose                                                                        |\n| :-------------------- | :-------------------------------- | :----------------------------------------------------------------------------- |\n| **Syntax \u0026 Parsing**  | `nvim-treesitter`                 | Abstract Syntax Tree-based highlighting and indentation.                       |\n| **Debugging**         | `nvim-dap` + `nvim-dap-ui`        | Unified Debug Adapter Protocol for Rust, C++, Python, C#, JS/TS.               |\n| **Buffer Navigation** | `harpoon` (v2), `leap.nvim`       | Context-switching, spatial movement, and marked file jumping.                  |\n| **Diagnostics**       | `trouble.nvim`                    | Centralized workspace diagnostics, symbol viewing, and reference tracking.     |\n| **Rust Integration**  | `rustaceanvim`, `crates.nvim`     | Full Rust IDE support, Cargo.toml management, and inline diagnostics.          |\n| **Testing**           | `neotest`                         | Asynchronous test execution for Rust and Python.                               |\n| **Version Control**   | `gitsigns.nvim`                   | Inline blame, hunk staging, and diff rendering.                                |\n| **AI Integration**    | `codecompanion.nvim`, `minuet-ai` | Multi-provider (Claude, DeepSeek, Gemini, Ollama) inline completions and chat. |\n\n## System Integrations\n\n1. **Deterministic State:** NixOS native. Plugin management relies on strict declarative inputs rather than runtime package managers (Mason).\n2. **Terminal Sync:** Dynamic Alacritty integration synchronizes terminal opacity, padding, and colorschemes with Neovim state.\n3. **Contextual Schema Awareness:** Dynamic YAML linting transitions between `actionlint` (GitHub Actions) and `ansible-lint` based on file context.\n4. **Automated State Persistence:** Aggressive auto-save triggers on `InsertLeave`, `TextChanged`, and `FocusLost`. Rust files automatically execute `flyCheck` on save.\n5. **Persistent History:** Global undo tree visualization via `telescope-undo`.\n\n## Keymaps\n\n**Buffer \u0026 Navigation**\n\n- `hh` / `ha` : Harpoon Quick Menu / Add to Harpoon\n- `hp` / `hn` : Harpoon Navigate Previous / Next\n- `s` / `S` : Leap Forward / Backward\n- `\u003cleader\u003eu` : Undo History Tree\n\n**LSP \u0026 Diagnostics**\n\n- `\u003cleader\u003eca` : Execute Code Action\n- `\u003cleader\u003elr` : Rename Symbol\n- `\u003cleader\u003efr` : Format Buffer (`conform.nvim`)\n- `\u003cleader\u003ea` : Toggle Diagnostics Panel (`trouble.nvim`)\n- `\u003cleader\u003ess` : View Document Symbols\n\n**Debugging (DAP)**\n\n- `\u003cleader\u003edb` : Toggle Breakpoint\n- `\u003cleader\u003edr` : Run / Continue\n- `\u003cleader\u003edi` : Step Into\n- `\u003cleader\u003edo` : Step Over\n- `\u003cleader\u003edt` : Terminate Process\n\n**Rust Specific**\n\n- `\u003cleader\u003err` : Execute Runnables\n- `\u003cleader\u003ere` : Explain Compiler Error\n- `\u003cleader\u003erc` : Open `Cargo.toml`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobscurely%2Fneovim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobscurely%2Fneovim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobscurely%2Fneovim/lists"}