{ pkgs, ... }: { programs.neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; vimdiffAlias = true; withNodeJs = true; withRuby = true; withPython3 = true; extraPython3Packages = (ps: with ps; [ # Extra python packages for magma-nvim jupyter-client ueberzug cairosvg pnglatex ]); extraPackages = with pkgs; [ # Used by installed plugins gnumake gcc fzf ripgrep tree-sitter # Language servers nodePackages.pyright python3Packages.ruff-lsp nil lua-language-server fortls nodePackages.yaml-language-server nodePackages.vim-language-server nodePackages.bash-language-server # Null LSP formatters black isort nodePackages.prettier ]; }; }