plugins/typst-preview: init

This commit is contained in:
Gaetan Lepage 2025-03-19 08:57:21 +01:00
parent f78adb0918
commit fab8f81121
2 changed files with 93 additions and 0 deletions

View file

@ -0,0 +1,44 @@
{
lib,
pkgs,
...
}:
lib.nixvim.plugins.mkNeovimPlugin {
name = "typst-preview";
packPathName = "typst-preview.nvim";
package = "typst-preview-nvim";
maintainers = [ lib.maintainers.GaetanLepage ];
extraOptions = {
tinymistPackage = lib.mkPackageOption pkgs "tinymist" {
nullable = true;
};
websocatPackage = lib.mkPackageOption pkgs "websocat" {
nullable = true;
};
};
extraConfig = cfg: {
extraPackages = [
cfg.tinymistPackage
cfg.websocatPackage
];
plugins.typst-preview.settings = {
# Disable automatic downloading of binary dependencies
dependencies_bin = {
tinymist = lib.mkIf (cfg.tinymistPackage != null) (lib.mkDefault (lib.getExe cfg.tinymistPackage));
websocat = lib.mkIf (cfg.websocatPackage != null) (lib.mkDefault (lib.getExe cfg.websocatPackage));
};
};
};
settingsExample = {
debug = true;
port = 8000;
dependencies_bin = {
tinymist = "tinymist";
websocat = "websocat";
};
};
}

View file

@ -0,0 +1,49 @@
{
empty = {
plugins.typst-preview.enable = true;
};
defaults = {
plugins.typst-preview = {
enable = true;
settings = {
debug = false;
open_cmd = null;
port = 0;
invert_colors = "never";
follow_cursor = true;
extra_args = null;
get_root.__raw = ''
function(path_of_main_file)
local root = os.getenv 'TYPST_ROOT'
if root then
return root
end
return vim.fn.fnamemodify(path_of_main_file, ':p:h')
end
'';
get_main_file.__raw = ''
function(path_of_buffer)
return path_of_buffer
end
'';
};
};
};
example = {
plugins.typst-preview = {
enable = true;
settings = {
debug = true;
port = 8000;
dependencies_bin = {
tinymist = "tinymist";
websocat = "websocat";
};
};
};
};
}