This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

tools.nvim: trim closure from 1.4G to 120M

Language servers, providers, git/bat/wl-clipboard and 300 unused
treesitter grammars came from the wrapper; take them from PATH instead
and ship only the grammars we edit. Drop lsp-lines, virtual_lines is
builtin.

+47 -6
+47 -6
tools/nvim/flake-module.nix
··· 11 11 # nixvim an older one — just drop the manpage (irrelevant to the editor). 12 12 enableMan = false; 13 13 vimAlias = true; 14 + # Closure budget: ~100 MB. Everything below that isn't the editor or a 15 + # plugin comes from PATH (project devshell / system) instead of being 16 + # baked in: no python/ruby/node providers (no remote plugins are used), 17 + # no git/bat/wl-clipboard on the wrapper PATH (desktops install 18 + # wl-clipboard themselves; xdg-utils behind it costs 120 MB of perl), 19 + # language servers unset (taken from the project devshell), and only 20 + # the grammars we edit. 21 + withPython3 = false; 22 + withRuby = false; 23 + withNodeJs = false; 24 + waylandSupport = false; 25 + enablePrintInit = false; 26 + dependencies.git.enable = false; 27 + dependencies.bat.enable = false; 14 28 colorschemes = { 15 29 ayu = { 16 30 enable = true; ··· 299 313 }; 300 314 }; 301 315 plugins.lsp-format.enable = true; 302 - plugins.lsp-lines.enable = true; 303 316 plugins.lsp = { 304 317 enable = true; 305 318 servers = { 306 - bashls.enable = true; # bash 319 + bashls = { 320 + enable = true; # bash 321 + package = null; 322 + }; 307 323 nixd = { 308 324 enable = true; # nix 325 + package = null; 309 326 extraOptions.offset_encoding = "utf-8"; # workaround https://github.com/nix-community/nixvim/issues/2390#issuecomment-2408101568 310 327 }; 311 - ruff.enable = true; # python 312 - pyright.enable = true; # python 313 - jsonls.enable = true; # json 328 + ruff = { 329 + enable = true; # python 330 + package = null; 331 + }; 332 + pyright = { 333 + enable = true; # python 334 + package = null; 335 + }; 336 + jsonls = { 337 + enable = true; # json 338 + package = null; 339 + }; 314 340 }; 315 341 }; 316 - plugins.treesitter.enable = true; 342 + plugins.treesitter = { 343 + enable = true; 344 + grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ 345 + bash 346 + json 347 + lua 348 + markdown 349 + markdown_inline 350 + nix 351 + python 352 + toml 353 + vim 354 + vimdoc 355 + yaml 356 + ]; 357 + }; 317 358 plugins.cmp_yanky.enable = true; 318 359 plugins.cmp = { 319 360 enable = true;