mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-08 11:36:07 +01:00
75 lines
1.9 KiB
Nix
75 lines
1.9 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
lib.nixvim.plugins.mkVimPlugin {
|
|
name = "molten";
|
|
package = "molten-nvim";
|
|
globalPrefix = "molten_";
|
|
description = "A neovim plugin for interactively running code with the jupyter kernel. Fork of magma-nvim with improvements in image rendering, performance, and more.";
|
|
|
|
maintainers = [ lib.maintainers.GaetanLepage ];
|
|
|
|
settingsExample = {
|
|
auto_open_output = true;
|
|
copy_output = false;
|
|
enter_output_behavior = "open_then_enter";
|
|
image_provider = "none";
|
|
output_crop_border = true;
|
|
output_show_more = false;
|
|
output_virt_lines = false;
|
|
output_win_border = [
|
|
""
|
|
"━"
|
|
""
|
|
""
|
|
];
|
|
output_win_cover_gutter = true;
|
|
output_win_hide_on_leave = true;
|
|
output_win_style = false;
|
|
save_path.__raw = "vim.fn.stdpath('data')..'/molten'";
|
|
use_border_highlights = false;
|
|
virt_lines_off_by1 = false;
|
|
wrap_output = false;
|
|
show_mimetype_debug = false;
|
|
};
|
|
|
|
extraOptions = {
|
|
python3Dependencies = lib.mkOption {
|
|
type = with lib.types; functionTo (listOf package);
|
|
default =
|
|
p: with p; [
|
|
pynvim
|
|
jupyter-client
|
|
cairosvg
|
|
ipython
|
|
nbformat
|
|
ipykernel
|
|
];
|
|
defaultText = lib.literalExpression ''
|
|
p: with p; [
|
|
pynvim
|
|
jupyter-client
|
|
cairosvg
|
|
ipython
|
|
nbformat
|
|
ipykernel
|
|
]
|
|
'';
|
|
description = "Python packages to add to the `PYTHONPATH` of neovim.";
|
|
};
|
|
};
|
|
|
|
extraConfig = cfg: {
|
|
extraPython3Packages = cfg.python3Dependencies;
|
|
|
|
warnings = lib.nixvim.mkWarnings "plugins.molten" {
|
|
when = (cfg.settings.image_provider or null) == "wezterm" && !config.plugins.wezterm.enable;
|
|
|
|
message = ''
|
|
The `wezterm` plugin is not enabled, so the `molten` plugin's `image_provider` setting will have no effect.
|
|
'';
|
|
};
|
|
};
|
|
}
|