my_nixvim_sharings/config/plugins/neorg.nix
2024-04-08 21:52:30 +08:00

88 lines
3.1 KiB
Nix

{
plugins = {
neorg = {
enable = true;
modules = {
# "core.defaults" = { __empty = null; }; # -- Loads default behaviour
# "core.summary" = { __empty = null; };
# "core.defaults" = { __empty = null; };
# "core.export" = { __empty = null; };
# "core.export.markdown" = { __empty = null; };
"core.defaults" = {}; # -- Loads default behaviour
"core.summary" = {};
"core.defaults" = {};
"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 = {
hook = {
__raw = ''function(keybinds)
-- unmap Alt-Enter to "core.itero.next-iteration", "<CR>"
keybinds.unmap("norg", "i", "<M-CR>")
-- map Shift-Enter to "core.itero.next-iteration", "<CR>"
keybinds.remap_event("norg", "i", "<S-CR>", "core.itero.next-iteration", "<CR>")
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', '<leader>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', '<leader>Ng', function() vim.cmd.Neorg('generate-workspace-summary') end, { desc = 'generate-workspace-summary' })
vim.keymap.set( 'n', '<leader>NT', function() vim.cmd.Neorg('toc') end, { desc = 'Table of Content' })
end,
})
vim.keymap.set( 'n', '<leader>Nw', function() vim.api.nvim_feedkeys(':Neorg workspace ', 'n', true) end, { desc = 'Neorg workspace <fill>' })
vim.keymap.set( 'n', '<leader>Ni', function() vim.cmd('Neorg index') end, { desc = 'Neorg index' })
vim.keymap.set( 'n', '<leader>Nr', function() vim.cmd('Neorg return') end, { desc = 'Neorg return' })
vim.keymap.set( 'n', '<leader>Ne', function() vim.cmd('Neorg workspace e') end, { desc = 'Neorg workspace e (neorg-english)' })
----------------------------------------------------
-- END Neorg config
----------------------------------------------------
'';
}