{ pkgs, pkgs-stable, ... }: { # https://github.com/nvim-neorg/neorg # NOW neorg require lua-utils.nvim, nvim-nio, pathlib.vim # https://github.com/nix-community/nixvim/issues/1395#issuecomment-2267262919 # Workaround extraPlugins = [ (pkgs.vimUtils.buildVimPlugin { inherit (pkgs.luaPackages.lua-utils-nvim) pname version src; }) (pkgs.vimUtils.buildVimPlugin { inherit (pkgs.luaPackages.pathlib-nvim) pname version src; }) (pkgs.vimUtils.buildVimPlugin { inherit (pkgs.luaPackages.nvim-nio) pname version src; }) ]; plugins = { neorg = { enable = true; # package = pkgs-stable.vimPlugins.neorg; package = pkgs.vimPlugins.neorg; modules = { "core.defaults" = { }; # -- Loads default behaviour "core.summary" = { }; "core.export" = { }; "core.export.markdown" = { }; "core.concealer" = { config = { folds = false; }; }; # -- Adds pretty icons to your documents "core.dirman" = { config = { workspaces = { n = "~/neorg/notes"; e = "~/neorg/english"; l = "~/neorg/letter"; g = "~/neorg/grammar"; p = "~/neorg/perl"; m = "~/neorg/misc"; # nvim = "~/.config/nvim/NeorgNvimNotes"; }; default_workspace = "m"; }; }; "core.keybinds" = { config = { default_keybinds = true; hook.__raw = '' function(keybinds) keybinds.unmap("norg", "i", "") keybinds.remap_event("norg", "i", "", "core.itero.next-iteration", "") end ''; }; }; }; }; }; extraConfigLua = '' ---------------------------------------------------- -- START Neorg config ---------------------------------------------------- -- vim.api.nvim_create_autocmd({'BufEnter', 'BufWinEnter'}, { -- pattern = '*.norg', vim.api.nvim_create_autocmd('FileType', { pattern = 'norg', callback = function() vim.opt.formatoptions:remove('r') vim.opt.formatoptions:remove('o') -- https://github.com/nvim-neorg/neorg/discussions/1066 vim.opt.conceallevel = 2 vim.keymap.set( 'n', 'Nt', function() if vim.opt.conceallevel:get() == 2 then vim.opt.conceallevel = 0 elseif vim.opt.conceallevel:get() == 0 then vim.opt.conceallevel = 2 end vim.cmd('Neorg toggle-concealer') end, { desc = 'Neorg toggle-concealer and conceallevel' }) -- use this insteand: ['core.concealer'] = { config = { folds = false }, }, -- vim.opt.foldlevelstart = 99 vim.keymap.set( 'n', 'Ng', function() vim.cmd.Neorg('generate-workspace-summary') end, { desc = 'generate-workspace-summary' }) vim.keymap.set( 'n', 'NT', function() vim.cmd.Neorg('toc') end, { desc = 'Table of Content' }) end, }) vim.keymap.set( 'n', 'Nw', function() vim.api.nvim_feedkeys(':Neorg workspace ', 'n', true) end, { desc = 'Neorg workspace ' }) vim.keymap.set( 'n', 'Ni', function() vim.cmd('Neorg index') end, { desc = 'Neorg index' }) vim.keymap.set( 'n', 'Nr', function() vim.cmd('Neorg return') end, { desc = 'Neorg return' }) vim.keymap.set( 'n', 'Ne', function() vim.cmd('Neorg workspace e') end, { desc = 'Neorg workspace e (neorg-english)' }) ---------------------------------------------------- -- END Neorg config ---------------------------------------------------- ''; }