nixos/home/packages/helix/default.nix

52 lines
1.4 KiB
Nix

{ pkgs, ... }:
{
programs.helix = {
enable = true;
defaultEditor = true;
settings = {
theme = "adwaita-dark";
editor.lsp.display-messages = true;
editor.inline-diagnostics.cursor-line = "hint";
editor.rulers = [ 81 ];
editor.gutters.layout = [ "diagnostics" ];
keys.insert.j.k = "normal_mode";
};
languages = {
language-server.tinymist = {
config.exportPdf = "onSave";
config.outputPath = "$root/$dir/out/$name";
};
language-server.scls = {
command = "simple-completion-language-server";
config.feature_words = false;
config.feature_snippets = true;
config.snippets_first = true;
config.snippets_inline_by_word_tail = false;
config.feature_unicode_input = true;
config.feature_paths = false;
config.feature_citations = false;
environment.RUST_LOG = "info,simple-completion-language-server=info";
environment.LOG_FILE = "/tmp/completion.log";
};
language = [
{
name = "typst";
language-servers = [
"tinymist"
"scls"
];
}
];
};
extraPackages = with pkgs; [
simple-completion-language-server
nixfmt-rfc-style
nil
];
};
home.file.helix-unicode-input = {
target = ".config/helix/unicode-input/base.toml";
source = ./base.toml;
};
}