1

Update nixvim to lazy.nvim migration

This commit is contained in:
2024-06-02 03:29:03 +02:00
parent ba7c43b67d
commit 5ee3e766ce
6 changed files with 1122 additions and 1430 deletions

View File

@ -468,12 +468,8 @@ rec {
# p.matplotlib
# p.pillow # for ranger
# p.pygments # for emacs
# For nvim CHADtree
pyyaml
std2
pynvim
pynvim-pp
# flake8 # Linter
# black
]))
jetbrains.clion
jetbrains.rust-rover

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,13 @@
-- Hide inline diagnostics and show border
vim.diagnostic.config({
virtual_text = false,
float = { border = "rounded" }
virtual_text = false,
float = { border = "rounded" },
})
-- Allow navigating popupmenu completion with Up/Down
vim.api.nvim_set_keymap('c', '<Down>', 'v:lua.get_wildmenu_key("<right>", "<down>")', { expr = true })
vim.api.nvim_set_keymap('c', '<Up>', 'v:lua.get_wildmenu_key("<left>", "<up>")', { expr = true })
vim.api.nvim_set_keymap("c", "<Down>", 'v:lua.get_wildmenu_key("<right>", "<down>")', { expr = true })
vim.api.nvim_set_keymap("c", "<Up>", 'v:lua.get_wildmenu_key("<left>", "<up>")', { expr = true })
function _G.get_wildmenu_key(key_wildmenu, key_regular)
return vim.fn.wildmenumode() ~= 0 and key_wildmenu or key_regular
return vim.fn.wildmenumode() ~= 0 and key_wildmenu or key_regular
end

View File

@ -4,21 +4,21 @@ local o = vim.o
-- Neovide
if g.neovide then
-- require("notify").notify("Running in NeoVide")
-- require("notify").notify("Running in NeoVide")
g.neovide_cursor_animate_command_line = true
g.neovide_cursor_animate_in_insert_mode = true
g.neovide_fullscreen = false
g.neovide_hide_mouse_when_typing = false
g.neovide_padding_top = 0
g.neovide_padding_bottom = 0
g.neovide_padding_right = 0
g.neovide_padding_left = 0
g.neovide_refresh_rate = 144
g.neovide_theme = 'light'
g.neovide_cursor_animate_command_line = true
g.neovide_cursor_animate_in_insert_mode = true
-- g.neovide_fullscreen = false
g.neovide_hide_mouse_when_typing = true
g.neovide_padding_top = 0
g.neovide_padding_bottom = 0
g.neovide_padding_right = 0
g.neovide_padding_left = 0
g.neovide_refresh_rate = 144
-- g.neovide_theme = "light"
-- Neovide Fonts
o.guifont = "JetBrainsMono Nerd Font:h13:Medium"
-- Neovide Fonts
o.guifont = "JetBrainsMono Nerd Font:h13:Medium"
else
-- require("notify").notify("Not running in NeoVide")
-- require("notify").notify("Not running in NeoVide")
end

View File

@ -3,486 +3,491 @@
mylib,
...
}: [
[
# No Leader
{
mode = "n";
key = "<C-s>";
action = "<cmd>w<CR>";
options.desc = "Save current buffer";
}
{
mode = "n";
key = "<C-S-s>";
action = "<cmd>wa<CR>";
options.desc = "Save all buffers";
}
{
mode = "v";
key = "<";
action = "<gv";
options.desc = "Outdent";
}
{
mode = "v";
key = ">";
action = ">gv";
options.desc = "Indent";
}
{
mode = "n";
key = "<";
action = "v<<Esc>";
options.desc = "Outdent";
}
{
mode = "n";
key = ">";
action = "v><Esc>";
options.desc = "Indent";
}
{
mode = "n";
key = "<C-d>";
action = "<C-d>zz";
options.desc = "Jump down";
}
{
mode = "n";
key = "<C-u>";
action = "<C-u>zz";
options.desc = "Jump up";
}
{
mode = "n";
key = "n";
action = "nzzzv";
options.desc = "Next match";
}
{
mode = "n";
key = "N";
action = "Nzzzv";
options.desc = "Previous match";
}
{
mode = "i";
key = "<Tab>";
action = "<cmd>lua require('intellitab').indent()<CR>";
options.desc = "Indent";
}
{
mode = "i";
key = "<C-BS>";
action = "<C-w>";
options.desc = "Delete previous word";
}
{
mode = "i";
key = "<M-BS>";
action = "<C-w>";
options.desc = "Delete previous word";
}
{
mode = "i";
key = "<C-S-v>";
action = "<Esc>\"+pi";
options.desc = "Paste from clipboard";
}
{
mode = "i";
key = "<C-v>";
action = "<Esc>\"+pi";
options.desc = "Paste from clipboard";
}
{
mode = "v";
key = "<C-S-c>";
action = "\"+y";
options.desc = "Copy to clipboard";
}
{
mode = "n";
key = "<C-h>";
action = "<cmd>nohlsearch<CR>";
options.desc = "Clear search highlights";
}
{
mode = "n";
key = "K";
action = "<cmd>lua vim.lsp.buf.hover()<CR>";
options.desc = "Show LSP hover";
}
# No Leader
{
mode = "n";
key = "<C-s>";
action = "<cmd>w<CR>";
options.desc = "Save current buffer";
}
{
mode = "n";
key = "<C-S-s>";
action = "<cmd>wa<CR>";
options.desc = "Save all buffers";
}
{
mode = "v";
key = "<";
action = "<gv";
options.desc = "Outdent";
}
{
mode = "v";
key = ">";
action = ">gv";
options.desc = "Indent";
}
{
mode = "n";
key = "<";
action = "v<<Esc>";
options.desc = "Outdent";
}
{
mode = "n";
key = ">";
action = "v><Esc>";
options.desc = "Indent";
}
{
mode = "n";
key = "<C-d>";
action = "<C-d>zz";
options.desc = "Jump down";
}
{
mode = "n";
key = "<C-u>";
action = "<C-u>zz";
options.desc = "Jump up";
}
{
mode = "n";
key = "n";
action = "nzzzv";
options.desc = "Next match";
}
{
mode = "n";
key = "N";
action = "Nzzzv";
options.desc = "Previous match";
}
{
mode = "i";
key = "<Tab>";
action = "<cmd>lua require('intellitab').indent()<CR>";
options.desc = "Indent";
}
{
mode = "i";
key = "<C-BS>";
action = "<C-w>";
options.desc = "Delete previous word";
}
{
mode = "i";
key = "<M-BS>";
action = "<C-w>";
options.desc = "Delete previous word";
}
{
mode = "i";
key = "<C-S-v>";
action = "<Esc>\"+pi";
options.desc = "Paste from clipboard";
}
{
mode = "i";
key = "<C-v>";
action = "<Esc>\"+pi";
options.desc = "Paste from clipboard";
}
{
mode = "v";
key = "<C-S-c>";
action = "\"+y";
options.desc = "Copy to clipboard";
}
{
mode = "n";
key = "<C-h>";
action = "<cmd>nohlsearch<CR>";
options.desc = "Clear search highlights";
}
{
mode = "n";
key = "K";
action = "<cmd>lua vim.lsp.buf.hover()<CR>";
options.desc = "Show LSP hover";
}
# General <leader>
{
mode = "n";
key = "<leader>qq";
action = "<cmd>quitall<CR>";
options.desc = "Quit";
}
{
mode = "n";
key = "<leader>q!";
action = "<cmd>quitall!<CR>";
options.desc = "Forceful quit";
}
{
mode = "n";
key = "<leader>L";
action = "<cmd>Lazy<CR>";
options.desc = "Show Lazy";
}
{
mode = "n";
key = "<leader><Space>";
action = "<cmd>Telescope buffers<CR>";
options.desc = "Show open buffers";
}
{
mode = "n";
key = "<leader>S";
action = "<cmd>wa<CR>";
options.desc = "Save all buffers";
}
{
mode = "n";
key = "<leader>f";
action = "<cmd>Telescope find_files<CR>";
options.desc = "Find file";
}
{
mode = "n";
key = "<leader>o";
action = "<cmd>Telescope vim_options<CR>";
options.desc = "Show Vim options";
}
{
mode = "n";
key = "<leader>u";
action = "<cmd>Telescope undo<CR>";
options.desc = "Show undo history";
}
{
mode = "n";
key = "<leader>/";
action = "<cmd>Telescope current_buffer_fuzzy_find<CR>";
options.desc = "Find in current buffer";
}
{
mode = "n";
key = "<leader>n";
action = "<cmd>Telescope notify<CR>";
options.desc = "Show notify history";
}
{
mode = "n";
key = "<leader>s";
action = "<cmd>Telescope live_grep<CR>";
options.desc = "Find in working directory";
}
{
mode = "n";
key = "<leader>r";
action = "<cmd>Telescope resume<CR>";
options.desc = "Show last telescope picker";
}
{
mode = "n";
key = "<leader>?";
action = "<cmd>Telescope keymaps<CR>";
options.desc = "Show keymaps";
}
{
mode = "n";
key = "<leader>:";
action = "<cmd>Telescope commands<CR>";
options.desc = "Execute command";
}
{
mode = "n";
key = "<leader>M";
action = "<cmd>Telescope marks<CR>";
options.desc = "Show marks";
}
{
mode = "n";
key = "<leader>J";
action = "<cmd>Telescope jumplist<CR>";
options.desc = "Show jumplist";
}
{
mode = "n";
key = "<leader>m";
action = "<cmd>Telescope man_pages<CR>";
options.desc = "Show manpages";
}
{
mode = "n";
key = "<leader>h";
action = "<cmd>Telescope help_tags<CR>";
options.desc = "Show help tags";
}
# General <leader>
{
mode = "n";
key = "<leader>qq";
action = "<cmd>quitall<CR>";
options.desc = "Quit";
}
{
mode = "n";
key = "<leader>q!";
action = "<cmd>quitall!<CR>";
options.desc = "Forceful quit";
}
{
mode = "n";
key = "<leader>L";
action = "<cmd>Lazy<CR>";
options.desc = "Show Lazy";
}
{
mode = "n";
key = "<leader><Space>";
action = "<cmd>Telescope buffers<CR>";
options.desc = "Show open buffers";
}
{
mode = "n";
key = "<leader>S";
action = "<cmd>wa<CR>";
options.desc = "Save all buffers";
}
{
mode = "n";
key = "<leader>f";
action = "<cmd>Telescope find_files<CR>";
options.desc = "Find file";
}
{
mode = "n";
key = "<leader>o";
action = "<cmd>Telescope vim_options<CR>";
options.desc = "Show Vim options";
}
{
mode = "n";
key = "<leader>u";
action = "<cmd>Telescope undo<CR>";
options.desc = "Show undo history";
}
{
mode = "n";
key = "<leader>/";
action = "<cmd>Telescope current_buffer_fuzzy_find<CR>";
options.desc = "Find in current buffer";
}
{
mode = "n";
key = "<leader>n";
action = "<cmd>Telescope notify<CR>";
options.desc = "Show notify history";
}
{
mode = "n";
key = "<leader>s";
action = "<cmd>Telescope live_grep<CR>";
options.desc = "Find in working directory";
}
{
mode = "n";
key = "<leader>r";
action = "<cmd>Telescope resume<CR>";
options.desc = "Show last telescope picker";
}
{
mode = "n";
key = "<leader>?";
action = "<cmd>Telescope keymaps<CR>";
options.desc = "Show keymaps";
}
{
mode = "n";
key = "<leader>:";
action = "<cmd>Telescope commands<CR>";
options.desc = "Execute command";
}
{
mode = "n";
key = "<leader>M";
action = "<cmd>Telescope marks<CR>";
options.desc = "Show marks";
}
{
mode = "n";
key = "<leader>J";
action = "<cmd>Telescope jumplist<CR>";
options.desc = "Show jumplist";
}
{
mode = "n";
key = "<leader>m";
action = "<cmd>Telescope man_pages<CR>";
options.desc = "Show manpages";
}
{
mode = "n";
key = "<leader>h";
action = "<cmd>Telescope help_tags<CR>";
options.desc = "Show help tags";
}
# Buffers <leader>b
{
mode = "n";
key = "<leader>b";
action = "+buffers";
}
{
mode = "n";
key = "<leader>bb";
action = "<cmd>Telescope buffers<CR>";
options.desc = "Show open buffers";
}
{
mode = "n";
key = "<leader>bn";
action = "<cmd>bnext<CR>";
options.desc = "Goto next buffer";
}
{
mode = "n";
key = "<leader>bp";
action = "<cmd>bprevious<CR>";
options.desc = "Goto previous buffer";
}
{
mode = "n";
key = "<leader>bd";
action = "<cmd>Bdelete<CR>";
options.desc = "Close current buffer";
}
# Quit <leader>q
{
mode = "n";
key = "<leader>q";
action = "+quit";
}
# Windows <leader>w
{
mode = "n";
key = "<leader>w";
action = "+windows";
}
{
mode = "n";
key = "<leader>ws";
action = "<C-w>s";
options.desc = "Split window horizontally";
}
{
mode = "n";
key = "<leader>wv";
action = "<C-w>v";
options.desc = "Split window vertically";
}
{
mode = "n";
key = "<leader>wd";
action = "<C-w>c";
options.desc = "Close current window";
}
# {
# mode = "n";
# key = "<leader>wh";
# action = "<C-W>s";
# options.desc = "Split window horizontally";
# }
{
mode = "n";
key = "<leader>wh";
action = "<C-w>h";
options.desc = "Goto left window";
}
{
mode = "n";
key = "<leader>wl";
action = "<C-w>l";
options.desc = "Goto right window";
}
{
mode = "n";
key = "<leader>wj";
action = "<C-w>j";
options.desc = "Goto bottom window";
}
{
mode = "n";
key = "<leader>wk";
action = "<C-w>k";
options.desc = "Goto top window";
}
{
mode = "n";
key = "<leader>ww";
action = "<C-w>p";
options.desc = "Goto other window";
}
# Buffers <leader>b
{
mode = "n";
key = "<leader>b";
action = "+buffers";
}
{
mode = "n";
key = "<leader>bb";
action = "<cmd>Telescope buffers<CR>";
options.desc = "Show open buffers";
}
{
mode = "n";
key = "<leader>bn";
action = "<cmd>bnext<CR>";
options.desc = "Goto next buffer";
}
{
mode = "n";
key = "<leader>bp";
action = "<cmd>bprevious<CR>";
options.desc = "Goto previous buffer";
}
{
mode = "n";
key = "<leader>bd";
action = "<cmd>Bdelete<CR>";
options.desc = "Close current buffer";
}
# Toggles <leader>t
{
mode = "n";
key = "<leader>t";
action = "+toggle";
}
# {
# mode = "n";
# key = "<leader>tt";
# action = "<cmd>Neotree action=show toggle=true<CR>";
# options.desc = "Toggle NeoTree";
# }
{
mode = "n";
key = "<leader>tt";
action = "<cmd>CHADopen --nofocus<CR>";
options.desc = "Toggle CHADtree";
}
{
mode = "n";
key = "<leader>tn";
action = "<cmd>Navbuddy<CR>";
options.desc = "Toggle NavBuddy";
}
{
mode = "n";
key = "<leader>td";
action = "<cmd>TroubleToggle focus=false<CR>";
options.desc = "Toggle Trouble";
}
# {
# mode = "n";
# key = "<leader>tg";
# action = "<cmd>LazyGit<CR>";
# }
# {
# mode = "n";
# key = "<leader>tp";
# action = "<cmd>TroubleToggle<CR>";
# }
# Windows <leader>w
{
mode = "n";
key = "<leader>w";
action = "+windows";
}
{
mode = "n";
key = "<leader>ws";
action = "<C-w>s";
options.desc = "Split window horizontally";
}
{
mode = "n";
key = "<leader>wv";
action = "<C-w>v";
options.desc = "Split window vertically";
}
{
mode = "n";
key = "<leader>wd";
action = "<C-w>c";
options.desc = "Close current window";
}
# {
# mode = "n";
# key = "<leader>wh";
# action = "<C-W>s";
# options.desc = "Split window horizontally";
# }
{
mode = "n";
key = "<leader>wh";
action = "<C-w>h";
options.desc = "Goto left window";
}
{
mode = "n";
key = "<leader>wl";
action = "<C-w>l";
options.desc = "Goto right window";
}
{
mode = "n";
key = "<leader>wj";
action = "<C-w>j";
options.desc = "Goto bottom window";
}
{
mode = "n";
key = "<leader>wk";
action = "<C-w>k";
options.desc = "Goto top window";
}
{
mode = "n";
key = "<leader>ww";
action = "<C-w>p";
options.desc = "Goto other window";
}
# Git <leader>g
{
mode = "n";
key = "<leader>g";
action = "+git";
}
{
mode = "n";
key = "<leader>gg";
action = "<cmd>LazyGit<CR>";
options.desc = "Show LazyGit";
}
{
mode = "n";
key = "<leader>gm";
action = "<cmd>GitMessenger<CR>";
options.desc = "Show GitMessenger";
}
# {
# mode = "n";
# key = "<leader>gs";
# action = "<cmd>Git status<CR>";
# }
{
mode = "n";
key = "<leader>gs";
action = "<cmd>Telescope git_status<CR>";
options.desc = "Show Git status";
}
{
mode = "n";
key = "<leader>gc";
action = "<cmd>Telescope git_commits<CR>";
options.desc = "Show Git log";
}
{
mode = "n";
key = "<leader>gb";
action = "<cmd>Telescope git_branches<CR>";
options.desc = "Show Git branches";
}
{
mode = "n";
key = "<leader>gf";
action = "<cmd>Telescope git_bcommits<CR>";
options.desc = "Show Git log for current file";
}
# Toggles <leader>t
{
mode = "n";
key = "<leader>t";
action = "+toggle";
}
# {
# mode = "n";
# key = "<leader>tt";
# action = "<cmd>Neotree action=show toggle=true<CR>";
# options.desc = "Toggle NeoTree";
# }
{
mode = "n";
key = "<leader>tt";
action = "<cmd>CHADopen --nofocus<CR>";
options.desc = "Toggle CHADtree";
}
{
mode = "n";
key = "<leader>tn";
action = "<cmd>Navbuddy<CR>";
options.desc = "Toggle NavBuddy";
}
{
mode = "n";
key = "<leader>td";
action = "<cmd>TroubleToggle focus=false<CR>";
options.desc = "Toggle Trouble";
}
# {
# mode = "n";
# key = "<leader>tg";
# action = "<cmd>LazyGit<CR>";
# }
# {
# mode = "n";
# key = "<leader>tp";
# action = "<cmd>TroubleToggle<CR>";
# }
# LSP <leader>l
{
mode = "n";
key = "<leader>l";
action = "+lsp";
}
{
mode = "n";
key = "<leader>lr";
action = "<cmd>Telescope lsp_references<CR>";
options.desc = "Goto references";
}
{
mode = "n";
key = "<leader>ld";
action = "<cmd>Telescope lsp_definitions<CR>";
options.desc = "Goto definition";
}
{
mode = "n";
key = "<leader>li";
action = "<cmd>Telescope lsp_implementations<CR>";
options.desc = "Goto implementation";
}
{
mode = "n";
key = "<leader>lt";
action = "<cmd>Telescope lsp_type_definitions<CR>";
options.desc = "Goto type definition";
}
{
mode = "n";
key = "<leader>lI";
action = "<cmd>Telescope lsp_incoming_calls<CR>";
options.desc = "Show incoming calls";
}
{
mode = "n";
key = "<leader>lO";
action = "<cmd>Telescope lsp_outgoing_calls<CR>";
options.desc = "Show outgoing calls";
}
# Git <leader>g
{
mode = "n";
key = "<leader>g";
action = "+git";
}
{
mode = "n";
key = "<leader>gg";
action = "<cmd>LazyGit<CR>";
options.desc = "Show LazyGit";
}
{
mode = "n";
key = "<leader>gm";
action = "<cmd>GitMessenger<CR>";
options.desc = "Show GitMessenger";
}
# {
# mode = "n";
# key = "<leader>gs";
# action = "<cmd>Git status<CR>";
# }
{
mode = "n";
key = "<leader>gs";
action = "<cmd>Telescope git_status<CR>";
options.desc = "Show Git status";
}
{
mode = "n";
key = "<leader>gc";
action = "<cmd>Telescope git_commits<CR>";
options.desc = "Show Git log";
}
{
mode = "n";
key = "<leader>gb";
action = "<cmd>Telescope git_branches<CR>";
options.desc = "Show Git branches";
}
{
mode = "n";
key = "<leader>gf";
action = "<cmd>Telescope git_bcommits<CR>";
options.desc = "Show Git log for current file";
}
# Code <leader>c
{
mode = "n";
key = "<leader>c";
action = "+code";
}
{
mode = "n";
key = "<leader>cf";
action = "<cmd>lua require('conform').format()<CR>";
options.desc = "Format current buffer";
}
{
mode = "n";
key = "<leader>cd";
action = "<cmd>Telescope diagnostics<CR>";
options.desc = "Show diagnostics";
}
{
mode = "n";
key = "<leader>cr";
action = "<cmd>lua vim.lsp.buf.rename()<CR>";
options.desc = "Rename LSP symbol";
}
{
mode = "n";
key = "<leader>ca";
action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
options.desc = "Show LSP code actions";
}
{
mode = "n";
key = "<leader>cD";
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
options.desc = "Show LSP line diagnostics";
}
]
# LSP <leader>l
{
mode = "n";
key = "<leader>l";
action = "+lsp";
}
{
mode = "n";
key = "<leader>lr";
action = "<cmd>Telescope lsp_references<CR>";
options.desc = "Goto references";
}
{
mode = "n";
key = "<leader>ld";
action = "<cmd>Telescope lsp_definitions<CR>";
options.desc = "Goto definition";
}
{
mode = "n";
key = "<leader>li";
action = "<cmd>Telescope lsp_implementations<CR>";
options.desc = "Goto implementation";
}
{
mode = "n";
key = "<leader>lt";
action = "<cmd>Telescope lsp_type_definitions<CR>";
options.desc = "Goto type definition";
}
{
mode = "n";
key = "<leader>lI";
action = "<cmd>Telescope lsp_incoming_calls<CR>";
options.desc = "Show incoming calls";
}
{
mode = "n";
key = "<leader>lO";
action = "<cmd>Telescope lsp_outgoing_calls<CR>";
options.desc = "Show outgoing calls";
}
# Code <leader>c
{
mode = "n";
key = "<leader>c";
action = "+code";
}
{
mode = "n";
key = "<leader>cf";
action = "<cmd>lua require('conform').format()<CR>";
options.desc = "Format current buffer";
}
{
mode = "n";
key = "<leader>cd";
action = "<cmd>Telescope diagnostics<CR>";
options.desc = "Show diagnostics";
}
{
mode = "n";
key = "<leader>cr";
action = "<cmd>lua vim.lsp.buf.rename()<CR>";
options.desc = "Rename LSP symbol";
}
{
mode = "n";
key = "<leader>ca";
action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
options.desc = "Show LSP code actions";
}
{
mode = "n";
key = "<leader>cD";
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
options.desc = "Show LSP line diagnostics";
}
]

View File

@ -4,6 +4,16 @@
pkgs,
...
}: [
{
name = "clangd-extensions";
pkg = pkgs.vimPlugins.clangd_extensions-nvim;
config = ''
function(_, opts)
require("clangd_extensions").setup(opts)
end
'';
}
{
name = "conform";
pkg = pkgs.vimPlugins.conform-nvim;
@ -31,6 +41,12 @@
};
}
{
name = "haskell-tools";
pkg = pkgs.vimPlugins.haskell-tools-nvim;
# Don't call setup!
}
{
name = "lint";
pkg = pkgs.vimPlugins.nvim-lint;
@ -66,25 +82,29 @@
{
name = "lspconfig";
pkg = pkgs.vimPlugins.nvim-lspconfig;
dependencies = [
{
name = "neodev";
pkg = pkgs.vimPlugins.neodev-nvim;
config = ''
function(_, opts)
require("neodev").setup(opts)
end
'';
}
];
lazy = false;
config = let
servers = mylib.generators.toLuaObject [
{name = "clangd";}
{name = "clojure_lsp";}
{name = "cmake";}
{name = "lua-ls";}
{name = "lua_ls";}
{name = "nil_ls";}
{name = "pyright";}
{name = "rust_analyzer";}
# {name = "rust_analyzer";} # Don't set up when using rustaceanvim
{name = "texlab";}
{
name = "hls";
cmd = [
"haskell-language-server-wrapper"
"--lsp"
];
}
# {name = "hls";} # Don't set up when using haskell-tools
];
in ''
function(_, opts)
@ -121,17 +141,94 @@
}
{
name = "rustaceanvim";
pkg = pkgs.vimPlugins.rustaceanvim;
# Don't call setup!
}
(let
nvim-plugintree = pkgs.vimPlugins.nvim-treesitter.withPlugins (
p:
with p; [
bash
bibtex
c
clojure
cmake
cpp
csv
disassembly
dockerfile
dot
doxygen
fish
gitignore
haskell
haskell_persistent
html
ini
java
javascript
json
julia
kotlin
lua
make
markdown
markdown_inline
nasm
nix
objdump
org
passwd
perl
printf
python
r
regex
requirements
ruby
rust
scala
scss
sql
toml
typescript
verilog
xml
yaml
]
);
treesitter-parsers = pkgs.symlinkJoin {
name = "treesitter-parsers";
paths = nvim-plugintree.dependencies;
};
in {
name = "treesitter";
pkg = pkgs.vimPlugins.nvim-treesitter.withAllGrammars;
pkg = pkgs.vimPlugins.nvim-treesitter;
lazy = false;
config = ''
function(_, opts)
vim.opt.runtimepath:append("${nvim-plugintree}")
vim.opt.runtimepath:append("${treesitter-parsers}")
require("nvim-treesitter.configs").setup(opts)
end
'';
opts = {
highlight.enable = true;
indent.enable = true;
auto_install = false;
ensure_installed = [];
parser_install_dir = "${treesitter-parsers}";
indent = {
enable = true;
# disable = ["python" "yaml"];
};
highlight = {
enable = true;
# disable = ["yaml"];
additional_vim_regex_highlighting = false;
};
# TODO: Doesn't work
incremental_selection = {
@ -144,5 +241,5 @@
};
};
};
}
})
]