neovim refactor

This commit is contained in:
kiri committed 2026-09-04 19:49:42 +02:00
1 parent b12c211a69
commit 883f9d26c2
25 files changed
+1154 -880

No files matched your search

+114 -71
View File
@@ -24,11 +24,33 @@ in
hash = "sha256-RIAe30TTzZhHuXxC2VRVk/X73Qm1u2LWOW3AsnUfRzI=";
};
});
nvimTreesitterWithAllGrammars = nvimTreesitter.withPlugins (
_:
map (
grammar: if grammar == nvimTreesitter.builtGrammars.svelte then svelteGrammar else grammar
) nvimTreesitter.allGrammars
nvimTreesitterWithGrammars = nvimTreesitter.withPlugins (
grammars: with grammars; [
astro
css
html
http
javascript
jsdoc
json
lua
markdown
markdown_inline
nix
python
query
regex
rust
sql
svelteGrammar
toml
tsx
typescript
typst
vim
vimdoc
yaml
]
);
in
{
@@ -41,118 +63,148 @@ in
wrappers.neovim = {
enable = true;
settings.config_directory = ./lua-config;
runtimePkgs = with pkgs; [
ripgrep
fd
wl-clipboard
stylua
nixfmt
oxfmt
taplo
yamlfmt
lua-language-server
nixd
nixfmt
dafny
vscode-langservers-extracted
tailwindcss-language-server
rust-analyzer
rustfmt
astro-language-server
tinymist
typstyle
websocat
ty
ruff
lua-language-server
nixd
vscode-langservers-extracted
yaml-language-server
vtsls
oxlint
oxfmt
emmet-language-server
svelteLanguageServer
tailwindcss-language-server
emmet-language-server
oxlint
rust-analyzer
astro-language-server
tinymist
ty
postgresql
mariadb
mongosh
kulala-core
kulala-fmt
curl
jq
openssl
zk
];
specs = {
lz-n = {
data = pkgs.vimPlugins.lz-n;
};
lz-n.data = pkgs.vimPlugins.lz-n;
support = {
data = with pkgs.vimPlugins; [
plenary-nvim
kanagawa-nvim
nvimTreesitterWithAllGrammars
nvim-treesitter-textobjects
rainbow-delimiters-nvim
];
};
completion = {
editing = {
lazy = true;
data = with pkgs.vimPlugins; [
blink-cmp
luasnip
friendly-snippets
colorful-menu-nvim
mini-nvim
guess-indent-nvim
nvimTreesitterWithGrammars
nvim-treesitter-textobjects
rainbow-delimiters-nvim
nvim-ts-autotag
grug-far-nvim
];
};
navigation = {
lazy = true;
data = with pkgs.vimPlugins; [
plenary-nvim
telescope-nvim
telescope-fzf-native-nvim
telescope-ui-select-nvim
{
data = oil-nvim;
lazy = false;
}
];
};
diagnostics = {
lazy = true;
data = with pkgs.vimPlugins; [ trouble-nvim ];
};
lsp = {
lazy = true;
data = with pkgs.vimPlugins; [
nvim-lspconfig
lazydev-nvim
nvim-navic
trouble-nvim
typst-preview-nvim
SchemaStore-nvim
];
};
completion = {
lazy = true;
data = with pkgs.vimPlugins; [
blink-cmp
colorful-menu-nvim
friendly-snippets
{
data = blink-compat;
lazy = false;
}
];
};
formatting = {
lazy = true;
data = with pkgs.vimPlugins; [
conform-nvim
];
};
core = {
lazy = true;
data = with pkgs.vimPlugins; [
mini-nvim
guess-indent-nvim
direnv-vim
];
data = with pkgs.vimPlugins; [ conform-nvim ];
};
ui = {
lazy = true;
data = with pkgs.vimPlugins; [
{
data = kanagawa-nvim;
lazy = false;
}
lualine-nvim
gitsigns-nvim
zen-mode-nvim
which-key-nvim
kulala-nvim
];
};
project = {
database = {
lazy = true;
data = with pkgs.vimPlugins; [
project-nvim
vim-dadbod
vim-dadbod-completion
vim-dadbod-ui
];
};
telescope = {
http = {
lazy = true;
data = with pkgs.vimPlugins; [
telescope-nvim
telescope-fzf-native-nvim
telescope-ui-select-nvim
];
data = with pkgs.vimPlugins; [ kulala-nvim ];
};
notes = {
lazy = true;
data = with pkgs.vimPlugins; [ zk-nvim ];
};
};
env.ZK_NOTEBOOK_DIR = "${config.home.homeDirectory}/sync/notes";
settings = {
nixdExtras = {
nixpkgs = "import ${pkgs.path} {}";
@@ -160,18 +212,9 @@ in
home_manager_options = ''(builtins.getFlake "path://${account.nixosConfigurationPath}").nixosConfigurations.${osConfig.facts.machine.name}.options.home-manager.users.type.getSubOptions []'';
};
themeSetup = import ./_kanagawa-theme.nix {
themeName = "kanagawa-wave";
};
typstPreviewDependencies = {
tinymist = "${pkgs.tinymist}/bin/tinymist";
websocat = "${pkgs.websocat}/bin/websocat";
};
kulalaCorePath = "${pkgs.kulala-core}/bin/kulala-core";
};
hosts.python3.nvim-host.enable = true;
hosts.node.nvim-host.enable = true;
binName = "nvim";
};
};