{ config, pkgs, lib, ... }: { programs.neovim = { enable = true; defaultEditor = true; vimAlias = true; plugins = with pkgs.vimPlugins; [ aerial-nvim zen-mode-nvim # vim-commentary ts-comments-nvim vim-fugitive gitsigns-nvim vim-repeat vim-surround nvim-tree-lua targets-vim # delimitMate mini-pairs mini-align mini-bracketed mini-splitjoin mini-move mini-ai flash-nvim trouble-nvim conform-nvim nvim-lint todo-comments-nvim # vim-startify vim-windowswap vim-nix plenary-nvim telescope-nvim telescope-fzf-native-nvim yanky-nvim lualine-nvim undotree vim-vsnip nvim-cmp cmp-vsnip cmp-buffer cmp-path cmp-cmdline cmp-nvim-lsp cmp-nvim-lsp-signature-help cmp_yanky cmp-git nvim-lspconfig lspkind-nvim copilot-lua copilot-cmp image-nvim img-clip-nvim markdown-preview-nvim vim-markdown plantuml-syntax bullets-vim obsidian-nvim nvim-dap nvim-nio nvim-dap-ui nvim-dap-virtual-text nvim-dap-go nvim-dap-python (nvim-treesitter.withPlugins (p: [ p.awk p.bash p.c p.c_sharp p.cpp p.css p.diff p.dockerfile p.doxygen p.git_config p.gitcommit p.go p.gomod p.gosum p.gotmpl p.helm p.haskell p.html p.http p.java p.javascript p.json p.latex p.lua p.markdown p.markdown_inline p.matlab p.nix p.printf p.python p.regex p.rust p.sql p.strace p.supercollider p.svelte p.swift p.terraform p.tmux p.toml p.typescript p.vim p.xml p.yaml p.zig ])) ]; # extraConfig = '' # set t_vb= # ''; extraLuaConfig = builtins.concatStringsSep "\n" [ (lib.strings.fileContents ../../nvim/base.lua) (lib.strings.fileContents ../../nvim/keymaps.lua) (lib.strings.fileContents ../../nvim/plugins.lua) ]; }; home.packages = with pkgs; [ nodejs-slim marksman ]; }