1
1
Fork
You've already forked ivy
1
No description
  • Lua 80.9%
  • Nix 19%
2026年07月10日 15:17:14 +02:00
.github chore(deps): bump actions/checkout from 4 to 5 ( #24 ) 2025年08月18日 11:38:29 +02:00
config nix: use weave 2026年07月10日 15:17:14 +02:00
modules flake: vendor neovim-nightly-overlay 2026年03月17日 23:39:25 +01:00
npins nix: use weave 2026年07月10日 15:17:14 +02:00
pkgs nix: use weave 2026年07月10日 15:17:14 +02:00
.editorconfig options: restructure 2026年06月06日 13:21:30 +02:00
.emmyrc.json meta: add lua lsp env 2026年05月14日 21:14:47 +02:00
.envrc feat: init 2024年12月03日 11:54:32 +00:00
.gitattributes feat: init 2024年12月03日 11:54:32 +00:00
.gitignore feat: init 2024年12月03日 11:54:32 +00:00
.luarc.json meta: add lua lsp env 2026年05月14日 21:14:47 +02:00
default.nix nix: use weave 2026年07月10日 15:17:14 +02:00
flake.lock nix: use weave 2026年07月10日 15:17:14 +02:00
flake.nix nix: use weave 2026年07月10日 15:17:14 +02:00
LICENSE meta: license 2026年03月27日 14:34:49 +01:00
LICENSE-APACHE-2.0 plugin: vendor treesitter indent 2026年03月29日 22:16:22 +02:00
README.md nix: use weave 2026年07月10日 15:17:14 +02:00
selene.toml chore: use treefmt 2025年08月14日 11:31:56 +02:00
stylua.toml options: restructure 2026年06月06日 13:21:30 +02:00
treefmt.nix nix: use weave 2026年07月10日 15:17:14 +02:00
vim.toml feat: init 2024年12月03日 11:54:32 +00:00

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