diff --git a/modules/dependencies.nix b/modules/dependencies.nix index 281a2208..cb809685 100644 --- a/modules/dependencies.nix +++ b/modules/dependencies.nix @@ -28,6 +28,7 @@ let example = "pkgs.nodejs_22"; }; texpresso.default = "texpresso"; + tinymist.default = "tinymist"; tree-sitter.default = "tree-sitter"; typst.default = "typst"; ueberzug.default = "ueberzugpp"; diff --git a/plugins/by-name/typst-preview/default.nix b/plugins/by-name/typst-preview/default.nix index 105228b8..7d6af2fd 100644 --- a/plugins/by-name/typst-preview/default.nix +++ b/plugins/by-name/typst-preview/default.nix @@ -1,6 +1,7 @@ { lib, pkgs, + config, ... }: lib.nixvim.plugins.mkNeovimPlugin { @@ -10,24 +11,32 @@ lib.nixvim.plugins.mkNeovimPlugin { maintainers = [ lib.maintainers.GaetanLepage ]; + imports = [ + # TODO: added 2025-04-07, remove after 25.05 + (lib.nixvim.mkRemovedPackageOptionModule { + plugin = "typst-preview"; + packageName = "tinymist"; + }) + ]; + extraOptions = { - tinymistPackage = lib.mkPackageOption pkgs "tinymist" { - nullable = true; - }; websocatPackage = lib.mkPackageOption pkgs "websocat" { nullable = true; }; }; extraConfig = cfg: { extraPackages = [ - cfg.tinymistPackage cfg.websocatPackage ]; + dependencies.tinymist.enable = lib.mkDefault true; + plugins.typst-preview.settings = { # Disable automatic downloading of binary dependencies dependencies_bin = { - tinymist = lib.mkIf (cfg.tinymistPackage != null) (lib.mkDefault (lib.getExe cfg.tinymistPackage)); + tinymist = lib.mkIf config.dependencies.tinymist.enable ( + lib.mkDefault (lib.getExe config.dependencies.tinymist.package) + ); websocat = lib.mkIf (cfg.websocatPackage != null) (lib.mkDefault (lib.getExe cfg.websocatPackage)); }; };