add lots of helix config; update vscode config;
This commit is contained in:
117
home-manager/development/helix.nix
Normal file
117
home-manager/development/helix.nix
Normal file
@@ -0,0 +1,117 @@
|
||||
{ inputs, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
helix = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
settings = {
|
||||
theme = "dracula";
|
||||
};
|
||||
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" ]; };
|
||||
}
|
||||
];
|
||||
language-server = with pkgs;{
|
||||
bash-language-server = {
|
||||
command = "${bash-language-server}/bin/bash-language-server";
|
||||
args = [ "start" ];
|
||||
};
|
||||
|
||||
superhtml = {
|
||||
command = "${superhtml}/bin/superhtml";
|
||||
args = [ "lsp" ];
|
||||
};
|
||||
|
||||
nixd = {
|
||||
command = "${nixd}/bin/nixd";
|
||||
config.nil = {
|
||||
formatting.command = [ "${nixpkgs-fmt}/bin/nixpkgs-fmt" ];
|
||||
};
|
||||
};
|
||||
|
||||
typescript-language-server = with nodePackages; {
|
||||
command = "${typescript-language-server}/bin/typescript-language-server";
|
||||
args = [ "--stdio" "--tsserver-path=${typescript}/lib/node_modules/typescript/lib" ];
|
||||
};
|
||||
vscode-css-language-server = {
|
||||
command = "${vscode-langservers-extracted}/bin/vscode-css-language-server";
|
||||
args = [ "--stdio" ];
|
||||
};
|
||||
vscode-json-language-server = {
|
||||
command = "${vscode-langservers-extracted}/bin/vscode-json-language-server";
|
||||
args = [ "--stdio" ];
|
||||
};
|
||||
vscode-markdown-language-server = {
|
||||
command = "${vscode-langservers-extracted}/bin/vscode-markdown-language-server";
|
||||
args = [ "--stdio" ];
|
||||
};
|
||||
|
||||
biome = {
|
||||
command = "${biome}/bin/biome";
|
||||
args = [ "lsp-proxy" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -6,8 +6,6 @@ in
|
||||
{
|
||||
home.packages = with pkgs;[
|
||||
(nerdfonts.override { fonts = [ "SpaceMono" ]; })
|
||||
shellcheck
|
||||
biome
|
||||
];
|
||||
|
||||
programs = {
|
||||
@@ -26,10 +24,11 @@ in
|
||||
esbenp.prettier-vscode
|
||||
bradlc.vscode-tailwindcss
|
||||
humao.rest-client
|
||||
rogalmic.bash-debug
|
||||
loriscro.super
|
||||
mads-hartmann.bash-ide-vscode
|
||||
foxundermoon.shell-format
|
||||
];
|
||||
userSettings = {
|
||||
userSettings = with pkgs;{
|
||||
"workbench.iconTheme" = "material-icon-theme";
|
||||
"window.titleBarStyle" = "custom";
|
||||
"workbench.colorTheme" = "Dracula Theme";
|
||||
@@ -45,7 +44,21 @@ in
|
||||
|
||||
"typescript.preferences.preferTypeOnlyAutoImports" = true;
|
||||
"chat.commandCenter.enabled" = false;
|
||||
|
||||
"nix.enableLanguageServer" = true; # Enable LSP.
|
||||
"nix.serverPath" = "${nixd}/bin/nixd"; # The path to the LSP server executable.
|
||||
"nix.serverSettings" = {
|
||||
nixd = {
|
||||
formatting.command = [ "${nixpkgs-fmt}/bin/nixpkgs-fmt" ];
|
||||
};
|
||||
};
|
||||
|
||||
"biome.lsp.bin" = "${biome}/bin/biome";
|
||||
|
||||
"bashIde.shellcheckPath" = "${shellcheck}/bin/shellcheck";
|
||||
"shellformat.path" = "${shfmt}/bin/shfmt";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user