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 kraftnvimLocalInstructions on how to use this configuration in downstream ways.
Run directly from this flake or add to packages.
nix run github:kraftnix/kraftnvim#kraftnvimAdd to devshell or package
{ inputs, pkgs, ... }: {
environment.systemPackages = [
inputs.kraftnvim.packages.${pkgs.stdenv.hostPlatform.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
lzefor plugin loading instead oflazy.nvim