{ programs.nixvim.plugins.nvim_ufo = { enable = true; }; programs.nixvim.extraConfigLua = '' # default fold options vim.o.foldcolumn = '1' vim.o.foldlevel = 99 vim.o.foldlevelstart = 99 vim.o.foldenable = true # nvim_ufo options vim.keymap.set('n', 'zR', require('ufo').openAllFolds, { desc = "Open all folds" }) vim.keymap.set('n', 'zM', require('ufo').closeAllFolds, { desc = "Close all folds" }) vim.keymap.set('n', 'zM', function() local winid = require("ufo").peekFoldedLinesUnderCursor() if not winid then vim.lsp.buf.hover() end end , { desc = "Peed fold" }) require("ufo").setup({ provider_selector = function(bufnr, filetype, buftype) return { 'lsp', 'indent' } end }) ''; }