{"id":18666669,"url":"https://github.com/phaalonso/nvim-kickstart","last_synced_at":"2025-11-06T13:30:34.268Z","repository":{"id":209567962,"uuid":"724409217","full_name":"phaalonso/nvim-kickstart","owner":"phaalonso","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-30T03:45:45.000Z","size":198,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T09:49:22.458Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phaalonso.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":"2023-11-28T02:33:47.000Z","updated_at":"2024-05-30T03:45:48.000Z","dependencies_parsed_at":"2024-05-30T06:21:50.188Z","dependency_job_id":"e517e36d-59e6-4583-af3e-ae987a055f9d","html_url":"https://github.com/phaalonso/nvim-kickstart","commit_stats":null,"previous_names":["phaalonso/nvim-kickstart"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaalonso%2Fnvim-kickstart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaalonso%2Fnvim-kickstart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaalonso%2Fnvim-kickstart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaalonso%2Fnvim-kickstart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phaalonso","download_url":"https://codeload.github.com/phaalonso/nvim-kickstart/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239493677,"owners_count":19647995,"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-07T08:33:31.748Z","updated_at":"2025-11-06T13:30:34.214Z","avatar_url":"https://github.com/phaalonso.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kickstart.nvim\n\nhttps://github.com/kdheepak/kickstart.nvim/assets/1813121/f3ff9a2b-c31f-44df-a4fa-8a0d7b17cf7b\n\n### Introduction\n\nA starting point for Neovim that is:\n\n* Small\n* Single-file (with examples of moving to multi-file)\n* Documented\n* Modular\n\nThis repo is meant to be used by **YOU** to begin your Neovim journey; remove the things you don't use and add what you miss.\n\nKickstart.nvim targets *only* the latest ['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest ['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. If you are experiencing issues, please make sure you have the latest versions.\n\nDistribution Alternatives:\n- [LazyVim](https://www.lazyvim.org/): A delightful distribution maintained by @folke (the author of lazy.nvim, the package manager used here)\n\n### Installation\n\n\u003e **NOTE** \n\u003e [Backup](#FAQ) your previous configuration (if any exists)\n\nRequirements:\n* Make sure to review the readmes of the plugins if you are experiencing errors. In particular:\n  * [ripgrep](https://github.com/BurntSushi/ripgrep#installation) is required for multiple [telescope](https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies) pickers.\n* See [Windows Installation](#Windows-Installation) if you have trouble with `telescope-fzf-native`\n\nNeovim's configurations are located under the following paths, depending on your OS:\n\n| OS | PATH |\n| :- | :--- |\n| Linux | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |\n| MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |\n| Windows (cmd)| `%userprofile%\\AppData\\Local\\nvim\\` |\n| Windows (powershell)| `$env:USERPROFILE\\AppData\\Local\\nvim\\` |\n\nClone kickstart.nvim:\n\n```sh\n# on Linux and Mac\ngit clone https://github.com/nvim-lua/kickstart.nvim.git \"${XDG_CONFIG_HOME:-$HOME/.config}\"/nvim\n```\n\n\n```\n# on Windows (cmd)\ngit clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\\AppData\\Local\\nvim\\ \n```\n\n```\n# on Windows (powershell)\ngit clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\\AppData\\Local\\nvim\\ \n```\n\n\n### Post Installation\n\nStart Neovim\n\n```sh\nnvim\n```\n\nThe `Lazy` plugin manager will start automatically on the first run and install the configured plugins - as can be seen in the introduction video. After the installation is complete you can press `q` to close the `Lazy` UI and **you are ready to go**! Next time you run nvim `Lazy` will no longer show up.\n\nIf you would prefer to hide this step and run the plugin sync from the command line, you can use:\n\n```sh\nnvim --headless \"+Lazy! sync\" +qa\n```\n\n### Recommended Steps\n\n[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo (so that you have your own copy that you can modify) and then installing you can install to your machine using the methods above.\n\n\u003e **NOTE**  \n\u003e Your fork's url will be something like this: `https://github.com/\u003cyour_github_username\u003e/kickstart.nvim.git`\n\n### Configuration And Extension\n\n* Inside of your copy, feel free to modify any file you like! It's your copy!\n* Feel free to change any of the default options in `init.lua` to better suit your needs.\n* For adding plugins, there are 3 primary options:\n  * Add new configuration in `lua/custom/plugins/*` files, which will be auto sourced using `lazy.nvim` (uncomment the line importing the `custom/plugins` directory in the `init.lua` file to enable this)\n  * Modify `init.lua` with additional plugins.\n  * Include the `lua/kickstart/plugins/*` files in your configuration.\n\nYou can also merge updates/changes from the repo back into your fork, to keep up-to-date with any changes for the default configuration.\n\n#### Example: Adding an autopairs plugin\n\nIn the file: `lua/custom/plugins/autopairs.lua`, add:\n\n```lua\n-- File: lua/custom/plugins/autopairs.lua\n\nreturn {\n  \"windwp/nvim-autopairs\",\n  -- Optional dependency\n  dependencies = { 'hrsh7th/nvim-cmp' },\n  config = function()\n    require(\"nvim-autopairs\").setup {}\n    -- If you want to automatically add `(` after selecting a function or method\n    local cmp_autopairs = require('nvim-autopairs.completion.cmp')\n    local cmp = require('cmp')\n    cmp.event:on(\n      'confirm_done',\n      cmp_autopairs.on_confirm_done()\n    )\n  end,\n}\n```\n\n\nThis will automatically install [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim).\n\n#### Example: Adding a file tree plugin\n\nIn the file: `lua/custom/plugins/filetree.lua`, add:\n\n```lua\n-- Unless you are still migrating, remove the deprecated commands from v1.x\nvim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])\n\nreturn {\n  \"nvim-neo-tree/neo-tree.nvim\",\n  version = \"*\",\n  dependencies = {\n    \"nvim-lua/plenary.nvim\",\n    \"nvim-tree/nvim-web-devicons\", -- not strictly required, but recommended\n    \"MunifTanjim/nui.nvim\",\n  },\n  config = function ()\n    require('neo-tree').setup {}\n  end,\n}\n```\n\nThis will install the tree plugin and add the command `:Neotree` for you. You can explore the documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) for more information.\n\n### Contribution\n\nPull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework, but to offer a starting template that shows, by example, available features in Neovim. Some things that will not be included:\n\n* Custom language server configuration (null-ls templates)\n* Theming beyond a default colorscheme necessary for LSP highlight groups\n\nEach PR, especially those which increase the line count, should have a description as to why the PR is necessary.\n\n### FAQ\n\n* What should I do if I already have a pre-existing neovim configuration?\n  * You should back it up, then delete all files associated with it.\n  * This includes your existing init.lua and the neovim files in `~/.local` which can be deleted with `rm -rf ~/.local/share/nvim/`\n  * You may also want to look at the [migration guide for lazy.nvim](https://github.com/folke/lazy.nvim#-migration-guide)\n* Can I keep my existing configuration in parallel to kickstart?\n  * Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` to maintain multiple configurations. For example you can install the kickstart configuration in `~/.config/nvim-kickstart` and create a script `~/bin/nvim-kickstart`:\n    ```\n    #!/bin/sh\n    exec env NVIM_APPNAME=nvim-kickstart nvim \"$@\"\n    ```\n    When you run Neovim with `nvim-kickstart` it will use the alternative config directory and the matching local directory: `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim distribution that you would like to try out.\n* What if I want to \"uninstall\" this configuration:\n  * See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information\n* Are there any cool videos about this plugin?\n  * Current iteration of kickstart (coming soon)\n  * Here is one about the previous iteration of kickstart: [video introduction to Kickstart.nvim](https://youtu.be/stqUbv-5u2s). Note the install via init.lua no longer works as specified. Please follow the install instructions in this file instead as they're up to date.\n* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?\n  * The main purpose of kickstart is to serve as a teaching tool and a reference\n    configuration that someone can easily `git clone` as a basis for their own.\n    As you progress in learning Neovim and Lua, you might consider splitting `init.lua`\n    into smaller parts. A fork of kickstart that does this while maintaining the exact\n    same functionality is available here:\n    * [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)\n  * Discussions on this topic can be found here:\n    * [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)\n    * [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)\n\n### Windows Installation\n\nInstallation may require installing build tools, and updating the run command for `telescope-fzf-native`\n\nSee `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)\n\nThis requires:\n\n- Install CMake, and the Microsoft C++ Build Tools on Windows\n\n```lua\n{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release \u0026\u0026 cmake --build build --config Release \u0026\u0026 cmake --install build --prefix build' }\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphaalonso%2Fnvim-kickstart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphaalonso%2Fnvim-kickstart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphaalonso%2Fnvim-kickstart/lists"}