🪴 my neovim config:)
README.md

ivy is my custom nix configuration for neovim. it uses npins for plugin management and lynn.nvim for plugin configuration.

run via nix:

nix run git+https://codeberg.org/comfysage/ivy

components #

pkgs/ #

this directory contains the nix packages within the setup. the most important is ivy/.

pkgs/ivy/ is a neovim wrapper for the setup. it uses weave, which is a special nix wrapper for neovim that makes including your own lua configuration really easy and simple.

the ivy package merges the npins sources and treesitter grammars. these are also merged with some vimPlugin's from nixpkgs for plugins that require build steps - like blink.pairs.

the advantage of managing the plugins with npins is that they can be manually updated:

npins update lynn

# or all of them
npins update

config/ #

this is the actual lua configuration. this directory will get copied to the nix store and used as the config for the wrapper.

this directory contains some special subdirectories: lua/ivy/init.lua is the entry point for the configuration. lua/ivy/plugins/ is a special directory that specifies the plugin specs for lynn.nvim. lua/ivy/config contains custom neovim options and settings. config/ contains the setup options for all the plugins and will get sourced automatically by lynn.nvim. plugin/ contains some small plugin scripts that i've written.

lsp/ contains the lsp options for some lsp's that aren't supported by nvim-lspconfig or need some special settings. snippets/ contains custom snippets; these will get merged with snippets from friendly-snippets