Merge pull request #1463 from NotAShelf/more-lazy-plugins

notes/neorg, repl/conjure: lazy load by default
This commit is contained in:
Ching Pei Yang 2026-03-24 10:52:51 +01:00 committed by GitHub
commit 536e16e343
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 52 additions and 14 deletions

View file

@ -4,9 +4,7 @@
... ...
}: let }: let
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.binds) pushDownDefault; inherit (lib.nvim.binds) pushDownDefault;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.notes.neorg; cfg = config.vim.notes.neorg;
in { in {
@ -19,17 +17,21 @@ in {
"nvim-nio" "nvim-nio"
"pathlib-nvim" "pathlib-nvim"
"plenary-nvim" "plenary-nvim"
"neorg"
"neorg-telescope" "neorg-telescope"
]; ];
lazy.plugins.neorg = {
package = "neorg";
setupModule = "neorg";
inherit (cfg) setupOpts;
ft = ["norg"];
cmd = ["Neorg"];
};
binds.whichKey.register = pushDownDefault { binds.whichKey.register = pushDownDefault {
"<leader>o" = "+Notes"; "<leader>o" = "+Notes";
}; };
pluginRC.neorg = entryAnywhere ''
require('neorg').setup(${toLuaObject cfg.setupOpts})
'';
}; };
} }

View file

@ -5,22 +5,32 @@
}: let }: let
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.notes.obsidian; cfg = config.vim.notes.obsidian;
in { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim = { vim = {
startPlugins = [ startPlugins = [
"obsidian-nvim"
"vim-markdown" "vim-markdown"
"tabular" "tabular"
"plenary-nvim"
]; ];
pluginRC.obsidian = entryAnywhere '' lazy.plugins.obsidian-nvim = {
require("obsidian").setup(${toLuaObject cfg.setupOpts}) package = "obsidian-nvim";
''; # NOTE: packaged plugin directory is `obsidian.nvim`; loading by the
# spec key (`obsidian-nvim`) misses and makes `require("obsidian")`
# resolve to a loader function via lzn-auto-require.
# I don't love this, but I can't think of anything better
load = ''
vim.cmd.packadd("obsidian.nvim")
'';
setupModule = "obsidian";
inherit (cfg) setupOpts;
ft = ["markdown"];
cmd = ["Obsidian"];
};
notes.obsidian.setupOpts = let notes.obsidian.setupOpts = let
# may not be defined # may not be defined

View file

@ -14,6 +14,32 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim.startPlugins = [pkgs.vimPlugins.conjure]; vim.lazy.plugins.conjure = {
package = pkgs.vimPlugins.conjure;
ft = [
"clojure"
"fennel"
"janet"
"hy"
"julia"
"racket"
"scheme"
"lua"
"lisp"
"python"
"rust"
"sql"
"javascript"
"typescript"
"php"
"r"
];
cmd = [
"ConjureSchool"
"ConjureEval"
"ConjureConnect"
"ConjureClientState"
];
};
}; };
} }