[shared] Helix config

Support for more languages in Helix. C-f to format. Autosave. Added some lsp packages
This commit is contained in:
Martin Berg Alstad 2025-04-19 19:37:12 +02:00
parent f1bf7b4ded
commit d74f3880ca
Signed by: martials
GPG Key ID: 848D71DE0590C199

View File

@ -1,4 +1,9 @@
{ pkgs, theme, ... }: {
pkgs,
lib,
theme,
...
}:
{ {
catppuccin.helix = { catppuccin.helix = {
@ -11,23 +16,115 @@
helix = { helix = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
extraPackages = with pkgs; [
# Markdown
marksman
markdown-oxide
# Html, css, Json, Eslint
vscode-langservers-extracted
# Yaml
ansible-language-server
yaml-language-server
];
settings = { settings = {
editor = { editor = {
auto-save = {
after-delay.enable = true;
focus-lost = true;
};
cursor-shape = { cursor-shape = {
normal = "block"; normal = "block";
insert = "bar"; insert = "bar";
select = "underline"; select = "underline";
}; };
lsp.display-messages = true; lsp = {
display-inlay-hints = true;
display-messages = true;
};
};
keys.normal = {
C-f = ":format";
}; };
}; };
languages.language = [ languages.language = [
{ {
name = "nix"; name = "css";
formatter = {
command = "prettier";
args = [
"--stdin-filepath"
"file.css"
];
};
auto-format = true;
}
{
name = "json";
language-servers = [
{
name = "vscode-json-language-server";
except-features = [ "format" ];
}
];
formatter = {
command = "prettier";
args = [
"--stdin-filepath"
"file.json"
];
};
auto-format = true;
}
{
name = "jsonc";
language-servers = [
{
name = "vscode-json-language-server";
except-features = [ "format" ];
}
];
formatter = {
command = "prettier";
args = [
"--stdin-filepath"
"file.jsonc"
];
};
file-types = [
"jsonc"
];
auto-format = true;
}
{
name = "markdown";
formatter = {
command = "prettier";
args = [
"--stdin-filepath"
"file.md"
];
};
auto-format = true;
}
{
name = "nix";
formatter.command = lib.getExe pkgs.nixfmt-rfc-style;
auto-format = true;
}
{
name = "yaml";
formatter = {
command = "prettier";
args = [
"--stdin-filepath"
"file.yaml"
];
};
auto-format = true; auto-format = true;
formatter.command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
} }
]; ];
}; };
}; };
} }