113 lines
2.8 KiB
Nix
113 lines
2.8 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
imports = [
|
|
./binds.nix
|
|
./settings.nix
|
|
];
|
|
home = {
|
|
sessionVariables.EDITOR = "hx";
|
|
packages = [
|
|
pkgs.wl-clipboard-rs
|
|
pkgs.nil
|
|
pkgs.vscode-langservers-extracted
|
|
pkgs.nodePackages.typescript-language-server
|
|
pkgs.emmet-language-server
|
|
pkgs.jdt-language-server
|
|
pkgs.tinymist
|
|
pkgs.typstyle
|
|
];
|
|
};
|
|
programs.helix = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
languages = {
|
|
language-server = {
|
|
"nu-builtin-lsp" = {
|
|
command = "${pkgs.nushell}/bin/nu";
|
|
args = [ "--lsp" ];
|
|
};
|
|
"rust-analyzer" = {
|
|
config = {
|
|
check.command = "check";
|
|
completion.snippets.custom = {
|
|
"pub fn" = {
|
|
prefix = [
|
|
"pfn"
|
|
"pubfn"
|
|
];
|
|
postfix = [ "pfn" ];
|
|
body = [
|
|
"pub fn $\{receiver\}() {"
|
|
"\\t$1"
|
|
"}"
|
|
];
|
|
scope = "type";
|
|
};
|
|
};
|
|
completion.termSearch.enable = true;
|
|
diagnostics.enable = true;
|
|
inlayHints = {
|
|
bindingModeHints.enable = true;
|
|
closureCaptureHints.enable = true;
|
|
closureReturnTypeHints.enable = true;
|
|
discriminantHints.enable = true;
|
|
expressionAdjustmentHints = {
|
|
hideOutsideUnsafe = true;
|
|
};
|
|
lifetimeElisionHints.enable = "skip_trivial";
|
|
};
|
|
interpret.tests = true;
|
|
lens = {
|
|
references = {
|
|
adt.enable = true;
|
|
trait.enable = true;
|
|
};
|
|
};
|
|
typing.autoClosingAngleBrackets.enable = true;
|
|
};
|
|
};
|
|
"emmet-language-server" = {
|
|
command = "emmet-language-server";
|
|
args = [ "--stdio" ];
|
|
};
|
|
"psalm" = {
|
|
command = "psalm";
|
|
args = [ "--language-server" ];
|
|
};
|
|
"tinymist" = {
|
|
config = {
|
|
exportPdf = "onType";
|
|
formatterMode = "typstyle";
|
|
};
|
|
};
|
|
};
|
|
language = [
|
|
{
|
|
name = "nu";
|
|
language-servers = [ "nu-builtin-lsp" ];
|
|
}
|
|
{
|
|
name = "php";
|
|
language-servers = [ "psalm" ];
|
|
}
|
|
{
|
|
name = "nix";
|
|
formatter = {
|
|
command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
|
args = [ "--quiet" ];
|
|
};
|
|
auto-format = true;
|
|
}
|
|
{
|
|
name = "html";
|
|
roots = [ ".git" ];
|
|
language-servers = [
|
|
"vscode-html-language-server"
|
|
"emmet-language-server"
|
|
];
|
|
auto-format = false;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|