{"id":27183171,"url":"https://github.com/boreec/nvim-config","last_synced_at":"2025-04-09T15:55:32.929Z","repository":{"id":280270143,"uuid":"941462481","full_name":"boreec/nvim-config","owner":"boreec","description":"Personal Neovim configuration","archived":false,"fork":false,"pushed_at":"2025-03-10T04:31:09.000Z","size":51,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T05:28:38.896Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boreec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2025-03-02T10:58:09.000Z","updated_at":"2025-03-10T04:31:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"0ec98066-7b85-4404-b53e-7c1ab1059d58","html_url":"https://github.com/boreec/nvim-config","commit_stats":null,"previous_names":["boreec/nvim-config"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boreec%2Fnvim-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boreec%2Fnvim-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boreec%2Fnvim-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boreec%2Fnvim-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boreec","download_url":"https://codeload.github.com/boreec/nvim-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065108,"owners_count":21041867,"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":"2025-04-09T15:55:32.344Z","updated_at":"2025-04-09T15:55:32.923Z","avatar_url":"https://github.com/boreec.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Neovim](https://img.shields.io/badge/NeoVim-%2357A143.svg?\u0026style=for-the-badge\u0026logo=neovim\u0026logoColor=white)\n![Lua](https://img.shields.io/badge/lua-%232C2D72.svg?style=for-the-badge\u0026logo=lua\u0026logoColor=white)\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n# ✨ Neovim Configuration\n\nThis repository contains my personal neovim setup. While I strive to keep it\nclean and functional, I can not guarantee that everything will always work\nperfectly. Use it at your own risk.\n\n- [🚀 How to use](#🚀-how-to-use)\n- [📦 Contents](#📦-contents)\n- [🔌 Plugin Manager](#🔌-plugin-manager)\n- [🎨 Colorscheme](#🎨-colorscheme)\n- [📚 Languages support](#📚-languages-support)\n  - [🔦 Syntax highlighting](#🔦-syntax-highlighting)\n  - [👅 LSP (Language Server Protocol)](#👅-lsp-language-server-protocol)\n  - [📏 Formatting](#📏-formatting)\n  - [🧩 Completion](#🧩-completion)\n- [⛵ Navigation](#navigation)\n  - [🔭 Telescope](#🔭-telescope)\n  - [🔱 Arrow](#🔱-arrow)\n\n## 🚀 How to use\n\nBackup your existing nvim config (optional):\n\n```console\nmv ~/.config/nvim ~/nvim-backup\n```\n\nClone this repository to the nvim directory:\n\n```console\ngit clone --depth 1 https://github.com/boreec/nvim-config ~/.config/nvim\n```\n\nOpen neovim, and run `:Lazy`, follow the screen instructions to update and sync\nthe plugins.\n\nWhen reopening neovim, Mason should automatically fetch the LSPs, linters and\nformatters.\n\n## 📦 Contents\n\n### 🔌 Plugin Manager\n\nThe plugins are managed using [lazy.nvim](https://github.com/folke/lazy.nvim).\nThe configuration follows the structure recommended by the official\ndocumentation:\n\n```text\n.\n├── init.lua                 # Entry point for loading the Lua files\n├── lua                      # Directory containing all Lua files\n│   ├── config               # Subdirectory with the main Neovim configuration\n│   │   ├── lazy.lua         # lazy.nvim setup\n│   │   ├── mappings.lua     # All key mappings\n│   │   └── options.lua      # Configuration for vim.opt settings\n│   └── plugins              # Subdirectory for plugins\n│       ├── bookmark.lua     # Plugin to bookmark and navigate between files\n│       ├── colorscheme.lua  # Plugins for colorscheme themes\n│       ├── completetion.lua # Plugins for word completions\n│       ├── formatter.lua    # Plugins for configuring languages formatter\n│       ├── lsp.lua          # Plugins for setting up LSPs\n│       ├── telescope.lua    # Plugin for fuzzy finding and searching\n│       └── treesitter.lua   # Plugins for language syntax highlighting\n├── .gitignore               # File and directory patterns not tracked by GIT\n├── .stylua.toml             # Formatting options for Lua files in the repository\n├── LICENSE.md               # Details on using, modifying and sharing the code\n└── README.md                # You are here\n```\n\n### 🎨 Colorscheme\n\nThe main colorscheme is `github_dark` from\n[github nvim themes](https://github.com/projekt0n/github-nvim-theme) and is\nconfigured in `lua/plugins/colorscheme.lua`.\n\n![github_dark](https://github.com/projekt0n/github-nvim-theme/assets/24286590/0e6525ef-8444-4097-855c-c2a9257a6a2f)\n\n### 📚 Languages support\n\n#### 🔦 Syntax highlighting\n\nLanguage syntax highlighting is handled by\n[nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)\nand configured for:\n\n- [bash](https://github.com/tree-sitter/tree-sitter-bash)\n- [c](https://github.com/tree-sitter/tree-sitter-c),\n  [cpp](https://github.com/tree-sitter/tree-sitter-cpp)\n- [dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile)\n- [gitignore](https://github.com/shunsambongi/tree-sitter-gitignore)\n- [go](https://github.com/tree-sitter/tree-sitter-go),\n  [gomod](https://github.com/camdencheek/tree-sitter-go-mod),\n  [gosum](https://github.com/tree-sitter-grammars/tree-sitter-go-sum),\n  [gowork](https://github.com/omertuc/tree-sitter-go-work)\n- [graphql](https://github.com/bkegley/tree-sitter-graphql)\n- [json](https://github.com/tree-sitter/tree-sitter-json)\n- [lua](https://github.com/tree-sitter-grammars/tree-sitter-lua)\n- [make](https://github.com/alemuller/tree-sitter-make)\n- [markdown](https://github.com/tree-sitter-grammars/tree-sitter-markdown)\n- [proto](https://github.com/treywood/tree-sitter-proto)\n- [python](https://github.com/tree-sitter/tree-sitter-python)\n- [rust](https://github.com/tree-sitter/tree-sitter-rust)\n- [sql](https://github.com/derekstride/tree-sitter-sql)\n- [toml](https://github.com/tree-sitter-grammars/tree-sitter-toml)\n- [typescript](https://github.com/tree-sitter/tree-sitter-typescript)\n- [xml](https://github.com/tree-sitter-grammars/tree-sitter-xml)\n- [yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml)\n\n#### 👅 LSP (Language Server Protocol)\n\nLSPs are handled by the combination of plugins:\n\n- [mason](https://github.com/williamboman/mason.nvim)\n- [mason-lspconfig](https://github.com/williamboman/mason-lspconfig.nvim)\n- [mason-tool-installer](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim)\n- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)\n\nLSPs are configured in `lua/plugins/lsp.lua` and offers support for:\n\n- json via `jsonls`\n- go via `gopls`\n- graphql via `graphql-language-service-cli` (a root configuration is required\n  in the project)\n- lua via `lua_ls`\n- typescript via `ts_ls`\n\n#### 📏 Formatting\n\nLanguage formatting is handled by\n[conform.nvim](https://github.com/stevearc/conform.nvim).\n\nFormatters are installed via mason, configured in `lua/plugins/formatter.lua`\nand offer support for:\n\n- go with `gofumpt`\n- graphql with `prettier`\n- json with `prettier`\n- lua with `stylua` (this repository uses `.stylua.toml`)\n- markdown with `prettier`\n- toml with `taplo`\n- typescript with `prettier`\n\nThe formatter are ran automatically when saving the buffer.\n\n#### 🧩 Completion\n\nSyntax completion is managed by the plugin\n[blink.cmp](https://github.com/saghen/blink.cmp) and configured in\n`lua/plugins/completion.lua`. For now only the LSP is used as a completion\nsource.\n\n### ⛵ Navigation\n\n#### 🔭 Telescope\n\n[Telescope](https://github.com/nvim-telescope/telescope.nvim) is used for\nsearching trough the file systems, files content or the opened buffers. Its\nbehavior is configured in `lua/plugins/telescope.lua`\n\n#### 🔱 Arrow\n\n[Arrow](https://github.com/otavioschwanck/arrow.nvim) is used\nto manage a small set of files and quickly switch between them. It is\nconfigured in `lua/plugins/bookmark.lua`.\n\nNote: May be changed in the near future with\n[snipe](https://github.com/leath-dub/snipe.nvim).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboreec%2Fnvim-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboreec%2Fnvim-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboreec%2Fnvim-config/lists"}