From 77e62827b1b37b2000d07c0826e3b2b8917972f1 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Sat, 23 Nov 2024 13:19:39 +0100 Subject: fix(modules/nvim/plgs/neorg): Move keybind setup to separate ftplugin --- modules/by-name/nv/nvim/plgs/neorg/default.nix | 94 +++++++++++----------- .../by-name/nv/nvim/plgs/neorg/key_mappings.lua | 30 +++++++ 2 files changed, 76 insertions(+), 48 deletions(-) create mode 100644 modules/by-name/nv/nvim/plgs/neorg/key_mappings.lua (limited to 'modules/by-name') diff --git a/modules/by-name/nv/nvim/plgs/neorg/default.nix b/modules/by-name/nv/nvim/plgs/neorg/default.nix index 995f9601..67c18cc6 100644 --- a/modules/by-name/nv/nvim/plgs/neorg/default.nix +++ b/modules/by-name/nv/nvim/plgs/neorg/default.nix @@ -5,60 +5,58 @@ }: let cfg = config.soispha.programs.nvim; in { - home-manager.users.soispha.programs.nixvim.plugins = lib.mkIf cfg.enable { - cmp.settings.sources = [ - {name = "neorg";} - ]; + home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable { + extraFiles = { + "ftplugin/neorg.lua".text = '' + ${lib.strings.fileContents ./key_mappings.lua} + ''; + }; - neorg = { - enable = true; - lazyLoading = true; + plugins = { + cmp.settings.sources = [ + {name = "neorg";} + ]; - modules = { - "core.defaults" = { - __empty = null; - }; - "core.esupports.metagen".config = { - type = "auto"; - }; - "core.journal".config = { - workspace = "journal"; - }; - "core.keybinds".config = { - hook = { - __raw = '' - function(keybinds) - -- remap the looking glas to the same key, femaco is also mapped to. - keybinds.remap_event("norg", "n", "cc", "core.looking-glass.magnify-code-block") + neorg = { + enable = true; + lazyLoading = true; - keybinds.remap_event("norg", "n", "", "core.integrations.telescope.find_linkable") - keybinds.remap_event("norg", "i", "", "core.integrations.telescope.insert_link") - end, - ''; + modules = { + "core.defaults" = { + __empty = null; }; - }; - "core.completion".config = { - engine = "nvim-cmp"; - }; - "core.concealer".config = { - __empty = null; - }; - "core.dirman".config = { - workspaces = { - general = "~/repos/notes/general"; - journal = "~/repos/notes/journal"; - projects = "~/repos/notes/projects"; + "core.esupports.metagen".config = { + type = "auto"; + }; + "core.journal".config = { + workspace = "journal"; + }; + "core.keybinds".config = { + __empty = null; + }; + "core.completion".config = { + engine = "nvim-cmp"; + }; + "core.concealer".config = { + __empty = null; + }; + "core.dirman".config = { + workspaces = { + general = "~/repos/notes/general"; + journal = "~/repos/notes/journal"; + projects = "~/repos/notes/projects"; + }; + }; + "core.export".config = { + __empty = null; + }; + "core.integrations.telescope".config = { + __empty = null; }; - }; - "core.export".config = { - __empty = null; - }; - "core.integrations.telescope".config = { - __empty = null; - }; - "core.ui.calendar".config = { - __empty = null; + "core.ui.calendar".config = { + __empty = null; + }; }; }; }; diff --git a/modules/by-name/nv/nvim/plgs/neorg/key_mappings.lua b/modules/by-name/nv/nvim/plgs/neorg/key_mappings.lua new file mode 100644 index 00000000..e2ebb653 --- /dev/null +++ b/modules/by-name/nv/nvim/plgs/neorg/key_mappings.lua @@ -0,0 +1,30 @@ +-- Override some of my default key mappings to better integrate into neorg. +-- They still to the same conceptual thing. + +-- Femaco does the same outside of neorg, so map looking-glass the same key. +vim.keymap.set( + "n", + "cc", + "(neorg.looking-glass.magnify-code-block)", + { noremap = true, silent = true, desc = "Edit code block" } +) +vim.keymap.set( + "n", + "", + "(neorg.esupports.hop.hop-link)", + { noremap = true, silent = true, desc = "Follow link" } +) +vim.keymap.set( + "n", + "", + "(core.integrations.telescope.find_linkable)", + { noremap = true, silent = true, desc = "Find possible links" } +) +vim.keymap.set( + "i", + "", + "(core.integrations.telescope.insert_link)", + { noremap = true, silent = true, desc = "Insert a link" } +) + +-- action = "gf", key = "", mode = { "n" }, options = { desc = "open file/url under cursor" } }, -- cgit 1.4.1