blob: 435192fc29c836cf8f0f94cf37425ada526b0b58 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
{ pkgs, config, lib, ... }:
{
programs.helix = {
enable = true;
settings = {
theme = "ayu_mirage";
editor.cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
};
languages = {
language-server = {
# Bash
"bash-language-server" = {
command = "${pkgs.bash-language-server}/bin/bash-language-server";
args = [ "start" ];
};
# Rust
"rust-analyzer" = {
command = "${pkgs.rust-analyzer}/bin/rust-analyzer";
};
# Python
"pyright" = {
command = "${pkgs.pyright}/bin/pyright";
};
# Nix
"nil" = {
command = "${pkgs.nil}/bin/nil";
};
# LaTeX
"texlab" = {
command = "${pkgs.texlab}/bin/texlab";
};
# Markdown
"marksman" = {
command = "${pkgs.marksman}/bin/marksman";
};
};
language = [
{
name = "bash";
language-servers = [ "bash-language-server" ];
auto-format = true;
}
{
name = "rust";
language-servers = [ "rust-analyzer" ];
auto-format = true;
}
{
name = "python";
language-servers = [ "pyright" ];
auto-format = true;
}
{
name = "nix";
language-servers = [ "nil" ];
auto-format = true;
}
{
name = "latex";
language-servers = [ "texlab" ];
auto-format = true;
}
{
name = "markdown";
language-servers = [ "marksman" ];
auto-format = true;
}
];
};
};
home.packages = with pkgs; [
zathura
ripgrep
fd
bash-language-server # LSP for Bash
rust-analyzer # Rust LSP
llvmPackages_latest.lldb # lldb-dap for Rust
pyright # Python LSP
nil # Nix LSP
texlab # LaTeX LSP
marksman # Markdown LSP
];
}
|