nixos-old/helix/settings.nix

85 lines
2.1 KiB
Nix

{ pkgs, ... }: {
home-manager.users.zoe.programs.helix = {
enable = true;
package = pkgs.helix;
settings = {
theme = "catppuccin_frappe";
keys = { normal = { }; };
editor = {
auto-completion = true;
auto-format = true;
soft-wrap.enable = true;
lsp.display-messages = true;
};
};
languages.language-server = {
"html-language-server" = { command = "html-languageserver"; };
"css-language-server" = { command = "vscode-css-language-server"; };
"scss-language-server" = {
command = "vscode-css-language-server";
args = [ "--stdio" ];
};
"typst-language-server" = { command = "typst-lsp"; };
};
languages.language = [
{
name = "angular-html";
scope = "text.angular";
roots = [ "angular.json" ];
grammar = "html";
language-server = {
command = "ngserver";
args = [
"--stdio"
"--tsProbeLocations"
"$(npm -g root)"
"--ngProbeLocations"
"$(npm -g root)"
];
};
file-types = [ "html" "component.html"];
}
{
name = "typescript";
auto-format = true;
formatter = {
command = "prettier";
args = [ "--parser" "typescript" ];
};
}
{
name = "scss";
language-server = { command = "vscode-css-language-server"; };
formatter = {
command = "prettier";
args = [ "--parser" "scss" ];
};
}
{
name = "go";
auto-format = true;
}
{
name = "css";
language-server = { command = "vscode-css-language-server"; };
formatter = {
command = "prettier";
args = [ "--parser" "scss" ];
};
}
{
name = "nix";
formatter = { command = "nixfmt"; };
}
{
name = "typst";
scope = "text.typ";
roots = [ "main.typ" ];
file-types = [ "typ" ];
language-server = { command = "typst-language-server"; };
}
];
};
}