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 |
---|
Editor |
---|
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
- Better file navigation using Oil.nvim and Grapple.nvim
- AI capabilities are enabled through Avante.nvim, ChatGPT.nvim, copilot.lua and CopilotChat.nvim
- Indent lines are enabled using mini.indentscope
- The dashboard is set up using alpha-nvim
- And many other features! Check out default.nix and the plugins/ folder
The julia language server is not currently supported by nixpkgs, so you will need to install it manually.
julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add("LanguageServer")'