forked from aylac.top/nixcfg
this repo has no description

biome instead of prettier

aylac.top 0034b6b8 883d3162

verified
Changed files
+122 -70
modules
flake
files
home
programs
helix
zed-editor
+23 -19
modules/flake/files/zed.nix
···
lib,
pkgs,
...
-
}: {
+
}: let
+
prettier = {
+
external = {
+
command = pkgs.writeScript "prettier-bun" ''
+
#! ${pkgs.bash}/bin/bash -e
+
exec ${lib.getExe pkgs.bun} ${pkgs.prettier}/bin/prettier.cjs "$@"
+
'';
+
arguments = ["--stdin-filepath" "{buffer_path}"];
+
};
+
};
+
biome = {
+
format_on_save = "on";
+
+
formatter = {language_server = {name = "biome";};};
+
code_actions_on_format = {
+
"source.fixAll.biome" = true;
+
"source.organizeImports.biome" = true;
+
};
+
};
+
in {
files.files = [
{
checkFile = false;
···
};
languages = {
-
JSON = {
-
format_on_save = "on";
-
-
formatter = {
-
external = {
-
command = lib.getExe pkgs.prettier;
-
arguments = ["--stdin-filepath" "{buffer_path}"];
-
};
-
};
-
};
+
JSON = biome;
Markdown = {
format_on_save = "on";
-
formatter.external = {
-
command = lib.getExe pkgs.prettier;
-
arguments = ["--stdin-filepath" "{buffer_path}"];
-
};
+
formatter = prettier;
};
Nix = {
···
YAML = {
format_on_save = "on";
-
formatter.external = {
-
command = lib.getExe pkgs.prettier;
-
arguments = ["--stdin-filepath" "{buffer_path}"];
-
};
+
formatter = prettier;
};
};
+62 -10
modules/home/programs/helix/default.nix
···
command = lib.getExe pkgs.superhtml;
args = ["--stdio"];
};
+
+
biome = {
+
command = lib.getExe pkgs.biome;
+
args = ["lsp-proxy"];
+
};
};
language = [
···
{
name = "css";
auto-format = true;
-
formatter = {command = lib.getExe pkgs.prettier;};
-
language-servers = ["vscode-css-languageserver"];
+
language-servers = [
+
{
+
name = "vscode-css-languageserver";
+
except-features = ["format"];
+
}
+
"biome"
+
];
}
{
name = "fish";
···
{
name = "html";
auto-format = true;
-
formatter = {command = lib.getExe pkgs.prettier;};
-
language-servers = ["superhtml"];
+
language-servers = [
+
{
+
name = "superhmtl";
+
except-features = ["format"];
+
}
+
"biome"
+
];
}
{
name = "javascript";
auto-format = true;
-
formatter = {command = lib.getExe pkgs.prettier;};
-
language-servers = ["typescript-language-server"];
+
language-servers = [
+
{
+
name = "typescript-language-server";
+
except-features = ["format"];
+
}
+
"biome"
+
];
}
{
name = "json";
auto-format = true;
-
formatter = {command = lib.getExe pkgs.prettier;};
-
language-servers = ["vscode-json-languageserver"];
+
language-servers = [
+
{
+
name = "vscode-json-languageserver";
+
except-features = ["format"];
+
}
+
"biome"
+
];
}
{
name = "lua";
···
{
name = "typescript";
auto-format = true;
-
formatter = {command = lib.getExe pkgs.prettier;};
-
language-servers = ["typescript-language-server"];
+
language-servers = [
+
{
+
name = "typescript-language-server";
+
except-features = ["format"];
+
}
+
"biome"
+
];
+
}
+
{
+
name = "jsx";
+
auto-format = true;
+
language-servers = [
+
{
+
name = "typescript-language-server";
+
except-features = ["format"];
+
}
+
"biome"
+
];
+
}
+
{
+
name = "tsx";
+
auto-format = true;
+
language-servers = [
+
{
+
name = "typescript-language-server";
+
except-features = ["format"];
+
}
+
"biome"
+
];
}
];
};
+37 -41
modules/home/programs/zed-editor/default.nix
···
pkgs,
...
}: let
-
bunPrettier = {
+
biome = {
+
format_on_save = "on";
+
+
formatter = {language_server = {name = "biome";};};
+
code_actions_on_format = {
+
"source.fixAll.biome" = true;
+
"source.organizeImports.biome" = true;
+
};
+
};
+
biomeTS =
+
biome
+
// {
+
language_servers = [
+
"typescript-language-server"
+
"biome"
+
"!vtsls"
+
"!eslint"
+
];
+
};
+
prettier = {
external = {
command = pkgs.writeScript "prettier-bun" ''
#! ${pkgs.bash}/bin/bash -e
···
"nix"
"scss"
"toml"
+
"biome"
];
userSettings = {
auto_indent_on_paste = true;
···
};
languages = {
-
JavaScript = {
-
format_on_save = "on";
-
-
formatter = bunPrettier;
-
language_servers = [
-
"typescript-language-server"
-
"!vtsls"
-
"!eslint"
-
];
-
};
-
TypeScript = {
-
format_on_save = "on";
-
-
formatter = bunPrettier;
-
language_servers = [
-
"typescript-language-server"
-
"!vtsls"
-
"!eslint"
-
];
-
};
-
TSX = {
+
JavaScript = biomeTS;
+
TypeScript = biomeTS;
+
TSX = biomeTS;
+
JSON = biome;
+
CSS = biome;
+
Nix = {
format_on_save = "on";
-
-
formatter = bunPrettier;
+
formatter = "language_server";
language_servers = [
-
"typescript-language-server"
-
"!vtsls"
-
"!eslint"
+
"nixd"
];
};
-
JSON = {
-
format_on_save = "on";
-
-
formatter = bunPrettier;
-
};
-
CSS = {
+
Markdown = {
format_on_save = "on";
-
formatter = bunPrettier;
-
};
-
Nix = {
-
format_on_save = "on";
-
formatter = "language_server";
-
language_servers = [
-
"nixd"
-
];
+
formatter = prettier;
};
};
lsp = {
···
exec ${lib.getExe pkgs.bun} ${pkgs.vscode-css-languageserver}/lib/node_modules/vscode-css-languageserver/out/node/cssServerMain.js "$@"
'';
arguments = ["--stdio"];
+
};
+
};
+
biome = {
+
binary = {
+
path = lib.getExe pkgs.biome;
+
arguments = ["lsp-proxy"];
};
};
};