{"id":13494268,"url":"https://github.com/pgosar/CyberNvim","last_synced_at":"2025-03-28T13:32:52.697Z","repository":{"id":37473591,"uuid":"442323569","full_name":"pgosar/CyberNvim","owner":"pgosar","description":"CyberNvim: A IDE-like Neovim distribution. Simplicity is Power.","archived":false,"fork":false,"pushed_at":"2024-08-25T14:07:46.000Z","size":592,"stargazers_count":314,"open_issues_count":1,"forks_count":10,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-08-25T15:26:16.248Z","etag":null,"topics":["neovim","neovim-config","neovim-configuration","neovim-plugin","neovim-setup","nvim","vim","vimrc"],"latest_commit_sha":null,"homepage":"","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/pgosar.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":"2021-12-28T02:09:08.000Z","updated_at":"2024-08-25T15:26:18.910Z","dependencies_parsed_at":"2023-12-30T05:19:48.060Z","dependency_job_id":"8e79cf38-3dd9-438a-8623-da1b058d9b90","html_url":"https://github.com/pgosar/CyberNvim","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/pgosar%2FCyberNvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgosar%2FCyberNvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgosar%2FCyberNvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgosar%2FCyberNvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgosar","download_url":"https://codeload.github.com/pgosar/CyberNvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222382544,"owners_count":16975383,"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":["neovim","neovim-config","neovim-configuration","neovim-plugin","neovim-setup","nvim","vim","vimrc"],"created_at":"2024-07-31T19:01:23.338Z","updated_at":"2024-10-31T08:32:10.830Z","avatar_url":"https://github.com/pgosar.png","language":"Lua","readme":"\u003ch1 align=\"center\"\u003eCyberNvim\u003c/h1\u003e\n\n\u003ch3 align=\"center\"\u003e\u003cb\u003eCyberNvim is the world's simplest and most extensible\nfully-fledged Neovim distribution.\u003c/b\u003e\u003c/h3\u003e\n\n![image](https://github.com/pgosar/CyberNvim/assets/55164602/15020588-441d-4ddc-aef3-2bf37e0d7ae1)\n\u003ch5 align=\"center\"\u003e\u003cb\u003eCyberNvim Start Screen\u003c/b\u003e\u003c/h5\u003e\n\n![image](https://github.com/pgosar/CyberNvim/assets/55164602/003c1a80-ea0a-4af4-b1bd-5d0b6729b1c5)\n\u003ch5 align=\"center\"\u003e\u003cb\u003eText editor view\u003c/b\u003e\u003c/h5\u003e\n\n![image](https://github.com/pgosar/CyberNvim/assets/55164602/ef8bb684-9b85-4afe-81c0-d254100d0db1)\n\u003ch5 align=\"center\"\u003e\u003cb\u003eDebugging UI and the Lazygit integration superimposed on top\u003c/b\u003e\u003c/h5\u003e\n\n\n\u003c/br\u003e\n\u003ch3 align=\"center\"\u003e\u003cb\u003eWhere simplicity meets power\u003c/b\u003e\u003c/h3\u003e\n\nCyberNvim is...\n\n* Simple and Extensible\n* Uncompromising in its [featureset](#fantastic-featureset-good--)\n\nCyberNvim is a fully-featured and incredibly easy-to-understand Neovim config.\nIt is a fully-featured IDE-like setup with the same ease of modification as\n[Kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim) but offering the\nmore complete and uncompromising base experience of\n[Astronvim](https://github.com/AstroNvim/AstroNvim/tree/main) and\n[LazyNvim](https://github.com/LazyVim/LazyVim).\nIts goal is to be both a ready-to-use editor for everyone, a great starting\npoint for powerusers who want the freedom to possibly overwrite the entire config,\nand a great example for beginners who want to learn how to configure Neovim.\n\nCyberNvim is the most simple and extensible Neovim configuration. At only 1200 lines of\ncode, it is the smallest major Neovim distribution. As the user, you are\ngiven the power to go so far as to remove almost every change CyberNvim makes and be left with base Neovim. CyberNvim lets you go farther than **any** other distribution so you\ncan truly make your Neovim yours.\n\n\u003ch3 align=\"center\"\u003e\u003cb\u003eIntractable codebase BAD 👎 ☹️\u003c/b\u003e\u003c/h3\u003e\n\nWhy use many lines when few do the trick?\n\n* Only \u003cb\u003e1200\u003c/b\u003e lines of code\n* Built to be broken\n* \u003cb\u003eZero\u003c/b\u003e compromises in available features\n* \u003cb\u003eMinimal\u003c/b\u003e learning curve\n* Plug and go personal configuration\n\nDespite offering a complete IDE-like feature set, CyberNvim's codebase is simple,\nmodular, and built to be broken (in a good way). It was made for people\nwho want the convenience of a fully-fledged Neovim configuration and the\nsimplicity and flexibility to make widespread changes even as a beginner programmer.\nStrict and intuitive code organization makes the codebase especially easy to\nunderstand.\n\nAt only 1200 lines of Lua (as of December 2023), CyberNvim is around 5-7 times\nsmaller than similar distributions (AstroNvim at 6.3k lines of Lua, LunarVim\nat 8k, LazyVim at 5k etc.). The codebase is built to be understood in less\nthan 10 minutes with simple, self-documenting code and an intuitive file\nstructure. I would call it SpeedyToUnderstandNvim but that doesn't have\nthe same ring to it.\n\nThe codebase mainly saves on line count by minimizing unnecessary\nabstractions wherever possible. One of CyberNvim's goals is to maintain a\nminimalistic codebase with a style similar to what many create as their own\npersonal configuration rather than what one would expect in a large\nsoftware project. This approach is similar to\n[NvChad](https://github.com/NvChad/NvChad/tree/v2.0).\n\nFurthermore, to lower the learning curve of using the distribution, it avoids\ncompletely overhauling Neovim and the included plugins wherever it does not detract\nfrom the experience of using CyberNvim. As such, the distribution is easy to learn\nand should feel familiar to most people. With this in mind, the distribution takes\ncare to ensure that every part of the configuration is easily understandable, extendable,\nand rewriteable for those that love tailoring every inch of their setup to their specific tastes.\n\n\u003cb\u003eUser configuration can be as simple as copy-pasting your current configuration in the\n[user conf section](https://github.com/pgosar/CyberNvim/wiki/Configuration#predefined-sections).\u003c/b\u003e\n\n\u003ch3 align=\"center\"\u003e\u003cb\u003eFantastic featureset GOOD 👍 🥰\u003c/b\u003e\u003c/h3\u003e\n\nIncluding but not limited to...\n\n* Incredibly fast speeds!\n* Fully featured intellisense (linters, code formatters, auto-complete, code actions)!\n* floating and inline function documentation, hover support, etc.\n* Auto-save and formatting\n* Persistent and configurable sessions and project management!\n* Fancy start screen\n* Amazing tabline and statusline\n* File explorer and file overview for functions, classes, etc.\n* Git integration with [lazygit](https://github.com/jesseduffield/lazygit)\nand more\n* Complete inbuilt debugging support\n* Aesthetic UI enhancements!\n* Complete freedom to rewrite the config as you see fit\n* Incredibly easy [user configuration](https://github.com/pgosar/CyberNvim-Configuration) setup!\n\n### Installation and Configuration\nFirst, backup (rename, move etc.) your existing nvim configuration.\nClone the repository and symlink it with your `~/.config/nvim` directory with\n\n``` bash\ngit clone https://github.com/pgosar/CyberNvim\nln -s ~/path/to/CyberNvim ~/.config/nvim\n```\n\nAlternatively, directly clone it to the nvim folder:\n```bash\ngit clone https://github.com/pgosar/CyberNvim ~/.config/nvim\n```\n\nYour personal configuration is housed in `user/user_config.lua`. Use `example_user_config.lua`\nas a guide to writing your own configuration. As an initial quickstart, I recommend\nrunning the following commands:\n```bash\nmkdir -pv ~/.config/nvim/lua/user\ncp ~/.config/nvim/lua/example_user_config.lua ~/.config/nvim/lua/user/user_config.lua\n```\nAlternatively, you can also take a look at my own\n[configuration](https://github.com/pgosar/CyberNvim-Configuration.git). Simply\nclone this as your user folder.\n```bash\ngit clone https://github.com/pgosar/CyberNvim-Configuration.git ~/.config/nvim/lua/user\n```\n\nIf you want to backup your personal configuration to git I suggest doing the following.\nThe user folder is gitignored, meaning you can create a new git repository under that folder\n. CyberNvim will never push changes to your configuration files - at most it will update example_user_config.\n```bash\ncd ~/.config/nvim/lua/user\ngit init\n# setup repository\n```\n\nOnce done, Install any language servers, linters, etc. using `:MasonInstall`\nand/or `:LspInstall`. Use `:CyberUpdate` to update the distribution, including all\nplugins and parsers. Run `:checkhealth` to find any common issues with the installation.\n\nBeyond this, if you want to plug your current configuration in, it can be as simple as requiring all your files\nin the allotted user configuration function (see the\n[example](https://github.com/pgosar/CyberNvim/blob/main/lua/example_user_config.lua)).\n\nFor more information, be sure to check the repository's wiki.\n\n### Dependencies\n\n* [Neovim 0.10.0+, built with LuaJIT](https://github.com/neovim/neovim/releases/tag/stable)\n* Optional Dependencies\n  * [A Nerd Font](https://www.nerdfonts.com/font-downloads)\n  * [Ripgrep](https://github.com/BurntSushi/ripgrep) for live grep in Telescope\n  * [Lazygit](https://github.com/jesseduffield/lazygit) for the git ui\n  * [Bashtop](https://github.com/aristocratos/bashtop) to manage processes\n\n\n### Acknowledgements\n\n[Astronvim](https://github.com/AstroNvim/AstroNvim/tree/main) and\n[LazyNvim](https://github.com/LazyVim/LazyVim) are two fantastic Neovim distributions that provided\nthe inspiration for this project. They significantly raised the bar for what a modern, fully-fledged\nNeovim distribution should offer.\n","funding_links":[],"categories":["Preconfigured Configuration","Lua"],"sub_categories":["Automation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgosar%2FCyberNvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpgosar%2FCyberNvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgosar%2FCyberNvim/lists"}