Commit a9f079b
Changed files (6)
home
base
tui
editors
helix
languages
home/base/tui/editors/helix/languages/astro.nix
@@ -0,0 +1,28 @@
+{...}: {
+ programs.helix.languages = {
+ language = [
+ {
+ name = "astro";
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ language-servers = ["astro-ls" "tailwindcss-ls"];
+ }
+ ];
+ language-server = {
+ astro-ls = {
+ command = "astro-ls";
+ args = ["--stdio"];
+ config = {
+ typescript = {
+ tsdk = "node_modules/typescript/lib";
+ environment = "node";
+ };
+ contentIntellisense = true;
+ };
+ };
+ };
+ };
+}
home/base/tui/editors/helix/languages/css.nix
@@ -0,0 +1,48 @@
+{...}: let
+ stylelintRoots = [
+ ".stylelintrc"
+ ".stylelintrc.mjs"
+ ".stylelintrc.cjs"
+ ".stylelintrc.js"
+ ".stylelintrc.json"
+ ".stylelintrc.yaml"
+ ".stylelintrc.yml"
+ "stylelint.config.mjs"
+ "stylelint.config.cjs"
+ "stylelint.config.js"
+ ];
+in {
+ programs.helix.languages = {
+ language = [
+ {
+ name = "css";
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ roots = stylelintRoots;
+ language-servers = ["stylelint-lsp" "tailwindcss-ls"];
+ }
+ {
+ name = "scss";
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ roots = stylelintRoots;
+ language-servers = ["stylelint-lsp" "tailwindcss-ls"];
+ }
+ ];
+ language-server = {
+ stylelint-lsp = {
+ command = "stylelint-lsp";
+ args = ["--stdio"];
+ config = {
+ autoFixOnFormat = true;
+ };
+ };
+ };
+ };
+}
home/base/tui/editors/helix/languages/html.nix
@@ -0,0 +1,15 @@
+{...}: {
+ programs.helix.languages = {
+ language = [
+ {
+ name = "html";
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ language-servers = ["vscode-html-language-server" "tailwindcss-ls"];
+ }
+ ];
+ };
+}
home/base/tui/editors/helix/languages/markdown.nix
@@ -0,0 +1,18 @@
+{...}: {
+ programs.helix.languages = {
+ language = [
+ {
+ name = "markdown";
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ formatter = {
+ command = "prettier";
+ };
+ language-servers = ["marksman"];
+ }
+ ];
+ };
+}
home/base/tui/editors/helix/languages/mdx.nix
@@ -0,0 +1,38 @@
+{...}: {
+ programs.helix.languages = {
+ language = [
+ {
+ name = "mdx";
+ scope = "source.mdx";
+ injection-regex = "mdx";
+ file-types = ["mdx"];
+ block-comment-tokens = {
+ start = "<!--";
+ end = "-->";
+ };
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ formatter = {
+ command = "prettier";
+ };
+ language-servers = ["mdx-language-server"];
+ }
+ ];
+ grammar = [
+ {
+ name = "mdx";
+ source = {
+ git = "https://github.com/parmort/tree-sitter-mdx";
+ rev = "413285231ce8fa8b11e7074bbe265b48aa7277f9";
+ };
+ }
+ ];
+ language-server.mdx-language-server = {
+ command = "mdx-language-server";
+ args = ["--stdio"];
+ };
+ };
+}
home/base/tui/editors/packages.nix
@@ -18,6 +18,7 @@
marksman # Markdown LSP
tinymist # Typst LSP
typstyle # Typst Formatter
+ mdx-language-server
# === General Purpose Languages === #
# -- C/C++
@@ -61,5 +62,7 @@
nodePackages.vscode-langservers-extracted # HTML/CSS/JSON/ESLint LSP extracted from vscode
nodePackages."@tailwindcss/language-server"
nodePackages."@astrojs/language-server"
+ stylelint-lsp
+ nodePackages.prettier
];
}