{ config, lib, pkgs, user, ... }: { home.packages = with pkgs; [ xclip # LSP sumneko-lua-language-server rnix-lsp terraform-ls tflint nodePackages.bash-language-server rust-analyzer nodePackages.yaml-language-server ]; programs = { neovim = { enable = true; plugins = with pkgs.vimPlugins; [ # theme nvim-solarized-lua delimitMate vim-bbye ansible-vim # session handling project-nvim auto-session nvim-treesitter markdown-preview-nvim # use({ "iamcco/markdown-preview.nvim", run = ":call mkdp#util#install()" }) toggleterm-nvim nvim-notify comment-nvim lualine-nvim tabline-nvim indent-blankline-nvim plenary-nvim vim-illuminate registers-nvim # git gitsigns-nvim vim-fugitive gv-vim # snippets friendly-snippets luasnip # auto-completion nvim-cmp cmp-nvim-lsp cmp-buffer cmp-path cmp-cmdline cmp-nvim-lua cmp_luasnip cmp-calc # telescope telescope-nvim telescope-fzf-native-nvim telescope-ui-select-nvim # LSP nvim-lspconfig lsp-status-nvim rust-tools-nvim lua-dev-nvim ]; extraConfig = '' lua << EOF vim.o.guifont = "DejaVu Sans Mono:h8" if vim.g.neovide then vim.g.neovide_fullscreen = true vim.g.neovide_cursor_animation_length = 0.01 vim.g.neovide_cursor_trail_length = 0.01 end ${builtins.readFile ./keymaps.lua } ${builtins.readFile ./options.lua } ${builtins.readFile ./treesitter.lua } ${builtins.readFile ./lspconfig.lua } ${builtins.readFile ./toggleterm.lua } ${builtins.readFile ./notify.lua } ${builtins.readFile ./comment.lua } ${builtins.readFile ./lualine.lua } ${builtins.readFile ./tabline.lua } ${builtins.readFile ./indent-blankline.lua } ${builtins.readFile ./gitsigns.lua } ${builtins.readFile ./luasnip.lua } ${builtins.readFile ./nvim-cmp.lua } ${builtins.readFile ./telescope.lua } ${builtins.readFile ./themes.lua } ${builtins.readFile ./project-nvim.lua } EOF ''; }; }; }