diff --git a/packages/extension-tinymist-html.nix b/packages/extension-tinymist-html.nix
new file mode 100644
index 0000000..60c60b7
--- /dev/null
+++ b/packages/extension-tinymist-html.nix
@@ -0,0 +1,37 @@
+{
+ jq,
+ lib,
+ moreutils,
+ tinymist,
+ vscode-utils,
+}:
+
+vscode-utils.buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "tinymist-vscode-html";
+ publisher = "myriad-dreamin";
+ inherit (tinymist) version;
+ hash = "";
+ };
+
+ nativeBuildInputs = [
+ jq
+ moreutils
+ ];
+
+ buildInputs = [ tinymist ];
+
+ postInstall = ''
+ cd "$out/$installPrefix"
+ jq '.contributes.configuration.properties."tinymist.serverPath".default = "${lib.getExe tinymist}"' package.json | sponge package.json
+ '';
+
+ meta = {
+ changelog = "https://marketplace.visualstudio.com/items/myriad-dreamin.tinymist/changelog";
+ description = "VSCode extension for providing an integration solution for Typst";
+ downloadPage = "https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist";
+ homepage = "https://github.com/myriad-dreamin/tinymist";
+ license = lib.licenses.asl20;
+ maintainers = [ ];
+ };
+}