90 lines
2.4 KiB
Nix
90 lines
2.4 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
programs = {
|
|
helix = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
settings = {
|
|
theme = "dracula";
|
|
};
|
|
extraPackages = with pkgs;[
|
|
marksman
|
|
shfmt
|
|
bash-language-server
|
|
superhtml
|
|
nixd
|
|
nixpkgs-fmt
|
|
biome
|
|
] ++ (with nodePackages;[
|
|
vscode-langservers-extracted
|
|
typescript-language-server
|
|
]);
|
|
languages = {
|
|
language = [
|
|
{
|
|
name = "nix";
|
|
language-servers = [ "nixd" "nil" ];
|
|
}
|
|
{
|
|
name = "html";
|
|
language-servers = [ "superhtml" "vscode-html-language-server" ];
|
|
}
|
|
{
|
|
name = "bash";
|
|
formatter = { command = "${pkgs.shfmt}/bin/shfmt"; };
|
|
}
|
|
{
|
|
name = "javascript";
|
|
language-servers = [
|
|
{ name = "biome"; }
|
|
{
|
|
name = "typescript-language-server";
|
|
except-features = [ "format" ];
|
|
}
|
|
];
|
|
auto-format = true;
|
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.js" ]; };
|
|
}
|
|
{
|
|
name = "typescript";
|
|
language-servers = [
|
|
{ name = "biome"; }
|
|
{
|
|
name = "typescript-language-server";
|
|
except-features = [ "format" ];
|
|
}
|
|
];
|
|
auto-format = true;
|
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.ts" ]; };
|
|
}
|
|
{
|
|
name = "jsx";
|
|
language-servers = [
|
|
{ name = "biome"; }
|
|
{
|
|
name = "typescript-language-server";
|
|
except-features = [ "format" ];
|
|
}
|
|
];
|
|
auto-format = true;
|
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.jsx" ]; };
|
|
}
|
|
{
|
|
name = "tsx";
|
|
language-servers = [
|
|
{ name = "biome"; }
|
|
{
|
|
name = "typescript-language-server";
|
|
except-features = [ "format" ];
|
|
}
|
|
];
|
|
auto-format = true;
|
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.tsx" ]; };
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|