This flake uses nixvim to configure neovim in a declarative manner. Since this configuration uses nixvim, this means that it is entirely written in Nix with some custom Lua sprinkled in here and there.
To run this nix flake simply run the following command
nix run github:dileep-kishore/neovim
Note
You will need to install the nix
package manager before you can run the previous command
Or you can use home-manager to add this flake to your setup like so:
{
inputs.neovim = {
url = "github:dileep-kishore/neovim";
inputs.nixpkgs.follows = "nixpkgs";
};
}
And then install it by adding inputs.neovim.packages.${system}.default
to your packages
Dashboard |
---|
Files |
---|
Autocompletions |
---|
Git |
---|
Telescope |
---|
- Works out of the box without needing to install any external dependencies.
- This includes lsp servers, linters, formatters or other packages.
- A lot of the default options and autocmds that you would find on a distribution like LunarVim are configured out of the box
- Treesitter syntax highlighting is enabled and rose-pine theme is set as the default
- Uses custom statusline configured using lualine.nvim
- Custom tabline configured using tabby.nvim
- Includes neogit and lazygit.nvim for working with git
- Lsp servers, linters and formatters for configured for Python, Nix, Lua, Javascript, Typescript, Julia, Bash, Rust, Go and many more
- Debugging is supported through the Debugging adapter protocol (DAP) plugin.
- This is currently only setup to work with Python
- Completions are enabled through nvim-cmp
- Snippets are set up using luasnip and friendly-snippets
- Telescope for fuzzy file finding and searching
- AI capabilities are enabled through ChatGPT.nvim and GitHub copilot
- Indent lines are enabled using indent-blankline.nvim and mini.indentscope
- The dashboard is set up using alpha-nvim
- Many other features! Check out default.nix and plugins.nix