A highly modular, extensible and distro-agnostic Neovim distribution for Nix/NixOS.
Find a file
2023-02-06 03:55:19 +03:00
.github/workflows CI: fix invalid attribute in nix-install-action 2023-02-06 01:33:45 +03:00
assets docs: update readme 2023-02-04 00:35:00 +03:00
docs docs: update manpages [1/3] 2023-02-04 01:10:51 +03:00
modules feat: UI overhaul 2023-02-06 03:55:19 +03:00
.envrc dev: rebase on a less personalized neovim flake 2023-02-01 22:11:37 +03:00
.gitignore feat: update gitignore 2023-02-06 01:21:32 +03:00
flake.lock feat: toggleterm 2023-02-06 02:44:38 +03:00
flake.nix feat: UI overhaul 2023-02-06 03:55:19 +03:00
LICENSE dev: rebase on a less personalized neovim flake 2023-02-01 22:11:37 +03:00
README.md docs: update readme 2023-02-04 04:16:26 +03:00

neovim-flake

A highly configurable nix flake for neovim, packing everything you might need to create your own neovim IDE.

Documentation

See the neovim-flake Manual for documentation, available options, and release notes. If you want to dive right into trying neovim-flake you can get a fully featured configuration with nix language support by running:

nix run github:notashelf/neovim-flake

The documentation is scarce right now as a result of the ongoing rebase and refactor, but shall be available once more soon.

Help

You can create an issue on the issue tracker to ask questions or report bugs. I am not yet on spaces like matrix or IRC, so please use the issue tracker for now.

Philosophy

The philosophy behind this flake configuration is to create an eaesily configurable and reproducible neovim environment. While it does sacrifice in size (which I know some users will find disagreeable), it offers a lot of flexibiity and configurability in exchange for the large size of the flake inputs. The KISS (Keep it simple, stupid) principle has been abandoneed here, but you can ultimately declare a configuration that follows KISS. For it is very easy to bring your own plugins and configurations. Whether you are a developer, writer, or live coder (see tidal cycles below!), quickly craft a config that suits every project's need. Think of it like a distribution of Neovim that takes advantage of pinning vim plugins and third party dependencies (such as tree-sitter grammars, language servers, and more).

One should never get a broken config when setting options. If setting multiple options results in a broken neovim, file an issue! Each plugin knows when another plugin which allows for smart configuration of keybindings and automatic setup of things like completion sources and languages.

Credits

This configuration is based on a few other configurations, including:

I am grateful for their work and inspiration.