-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhelix.nix
88 lines (83 loc) · 2.18 KB
/
helix.nix
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
{ config, pkgs, inputs, ... }:
{
programs.helix = {
enable = true;
package = inputs.helix-master.packages."x86_64-linux".default;
settings = {
theme = "catppuccin_frappe";
# icons = "nerdfonts";
editor = {
line-number = "relative";
color-modes = true;
true-color = true;
rainbow-brackets = true;
soft-wrap.enable = true;
cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
whitespace.render = "all";
whitespace.characters = {
space = " ";
nbsp = "⍽";
tab = "→";
newline = "↲";
};
lsp = {
display-messages = true;
display-inlay-hints = true;
};
gutters = [ "diagnostics" "line-numbers" "spacer" "diff"];
statusline = {
# mode-separator = "";
separator = "";
left = [ "mode" "selections" "spinner" "file-name" "total-line-numbers"];
center = [ ];
right = [ "diagnostics" "file-encoding" "file-line-ending" "file-type" "position-percentage" "position" ];
mode = {
normal = "NORMAL";
insert = "INSERT";
select = "SELECT";
};
};
indent-guides = {
render = true;
rainbow-option = "dim";
};
rulers = [80 120];
};
};
languages = {
language = [
{
name = "rust";
file-types = ["oak" "rs"]; # this is for oak lang which doesn't have it's own highlighting but looks like rust
}
{
name = "c";
file-types = ["c" "h" "cpp" "hpp"];
indent = {
tab-width = 4;
unit = " ";
};
}
{
name = "cobol";
file-types = ["cob"];
scope = "main.cob";
comment-token = "*";
roots = ["main.cob"];
indent = {
tab-width = 2;
unit = " ";
};
rulers = [7 12 72];
}
];
language-server.rust-analyzer.config.check = {
command = "clippy";
};
};
};
}