Uses NixCats to generate Neovim configurations.
Currently uses the lazy.nvim
wrapper.
There are multiple neovim configurations exposed from this flake:
kraftnvim
: standalone neovim nightly, with bundled lua configurationkraftnvimLocal
: neovim nightly, uses host lua configurationkraftnvimStable
: standalone neovim from nixpkgs, with bundled lua configurationkraftnvimStableLocal
: neovim from nixpkgs, uses host lua configuration
The Local
flavours of the packages use $XDG_CONFIG/nvim
by default.
Since neovim 0.9, you can use $NVIM_APPNAME
to change the location in $XDG_CONFIG
to use for neovim configuration.
However nixCats
always sets NVIM_APPNAME
to whatever is set in settings.configDirName
.
While this is useful, sometimes you actually want to override this (for maybe testing local changes not in $XDG_CONFIG/{configDirName}
)
So I added a KRAFTNVIM_NAME
to overriding the nixCats
setting at runtime.
Usage:
git clone https://github.com/kraftnix/kraftnvim ~/.config/kraftnvim-wip
KRAFTNVIM_NAME=kraftnvim-wip kraftnvimLocal
Instructions on how to use this configuration in downstream ways.
Run directly from this flake or add to packages.
nix run github:kraftnix/kraftnvim#kraftnvim
Add to devshell or package
{ inputs, pkgs, ... }: {
environment.systemPackages = [
inputs.kraftnvim.packages.${pkgs.system}.kraftnvimStable
];
}
Extra vim plugins are fetched using nvfetcher
.
All plugins are added to an overlay at overlays.vimPlugins
and available as packages
at packages.<system>.vimPlugins
Add an entry to sources.toml
and add the plugin to the list at
the top of packages
.
Uses nvfetcher
to handle extra vimPlugins.
nvfetcher -c ./packages/sources.toml -o ./packages/_sources
- integrate nixCats splits of categories in lua plugin code
- currently only splitting for adding plugins, which is ignored by lazy.nvim anyway
- investigate using
lze
for plugin loading instead oflazy.nvim