{ pkgs, lib, config, ... }: { home.packages = with pkgs; [ pyright python312Packages.pynvim-pp ]; programs.neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; plugins = with pkgs.vimPlugins; [ nvim-lspconfig nvim-treesitter.withAllGrammars plenary-nvim gruvbox-material mini-nvim nvim-tree-lua nvim-lspconfig vim-nix cmp-nvim-lsp cmp-buffer cmp-path cmp-cmdline nvim-cmp vimtex coq_nvim coq-artifacts transparent-nvim zenbones-nvim ]; extraLuaConfig = '' local function my_on_attach(bufnr) local api = require "nvim-tree.api" local function opts(desc) return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } end -- default mappings api.config.mappings.default_on_attach(bufnr) -- custom mappingse vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help')) end -- pass to setup along with your other options require("nvim-tree").setup { on_attach = my_on_attach, sort = { sorter = "case_sensitive", }, view = { width = 30, }, renderer = { group_empty = true, }, filters = { dotfiles = false, }, } vim.lsp.enable('pyright') vim.lsp.enable('nil_ls') -- local cmp = require 'cmp' -- cmp.setup({ -- snippet = { -- expand = function(args) -- vim.fn["vsnip#anonymous"](args.body) -- end, -- }, --}) set termguicolors = true set background = dark colorscheme zenbones ''; }; }