Skip to content

dileep-kishore/neovim

Repository files navigation


A Neovim configuration as a Nix flake ❄️ template

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.

Note

I am no longer using this configuration, so I will not be maintaining it. Refer to nyanvim for my current neovim configuration.

Running the flake

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

Gallery

Dashboard
dashboard
Editor
editor
Autocompletions
autocompletions
Git
git
Telescope
telescope

Features

  • 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 Arrow.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

Manual Installation

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")'

Releases

No releases published

Packages

No packages published