Skip to content

Commit 09ba0a5

Browse files
committed
feat: Various improvements
1 parent c6fa11f commit 09ba0a5

30 files changed

Lines changed: 326 additions & 42 deletions

config/keymaps.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ in
66
keymaps = [
77
(mkKeymap "v" "<Tab>" ">gv" "Indent selection right")
88
(mkKeymap "v" "<S-Tab>" "<gv" "Indent selection left")
9+
# (mkKeymap "n" "<ESC>" "<CMD>noh<CR><ESC>" "Clear highlight")
910
];
1011
}

config/langs/astro.nix

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
1+
{ lib, pkgs, ... }:
12
{
3+
lsp.servers.astro.enable = true;
24
plugins = {
3-
lsp.servers.astro.enable = true;
45
treesitter.settings.ensure_installed = [ "astro" ];
6+
conform-nvim.settings = {
7+
formatters_by_ft.astro = {
8+
__unkeyed-1 = "prettierd";
9+
__unkeyed-2 = "prettier";
10+
timeout_ms = 2000;
11+
stop_after_first = true;
12+
};
13+
formatters = {
14+
prettierd.command = lib.getExe pkgs.prettierd;
15+
prettier.command = lib.getExe pkgs.prettier;
16+
};
17+
};
518
};
619
}

config/langs/bash.nix

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
1+
{ lib, pkgs, ... }:
12
{
3+
lsp.servers.bashls.enable = true;
4+
25
plugins = {
3-
lsp.servers.bashls.enable = true;
46
treesitter.settings.ensure_installed = [ "bash" ];
7+
conform-nvim.settings = {
8+
formatters_by_ft.bash = [
9+
"shellcheck"
10+
"shellharden"
11+
"shfmt"
12+
];
13+
formatters = {
14+
shellcheck.command = lib.getExe pkgs.shellcheck;
15+
shellharden.command = lib.getExe pkgs.shellharden;
16+
shfmt.command = lib.getExe pkgs.shfmt;
17+
};
18+
};
519
};
620
}

config/langs/cpp.nix

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
plugins = {
3-
lsp.servers.clangd = {
4-
enable = true;
2+
lsp.servers.clangd = {
3+
enable = true;
4+
config = {
55
cmd = [
66
"clangd"
77
"--background-index"
@@ -11,6 +11,12 @@
1111
"cpp"
1212
];
1313
};
14-
treesitter.settings.ensure_installed = [ "c" "cpp" ];
14+
};
15+
plugins = {
16+
treesitter.settings.ensure_installed = [
17+
"c"
18+
"cpp"
19+
];
20+
conform-nvim.settings.formatters_by_ft.cpp = [ "clang_format" ];
1521
};
1622
}

config/langs/css.nix

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
1+
{ lib, pkgs, ... }:
12
{
3+
lsp.servers.cssls.enable = true;
24
plugins = {
3-
lsp.servers.cssls.enable = true;
45
treesitter.settings.ensure_installed = [ "css" ];
6+
conform-nvim.settings = {
7+
formatters_by_ft.css = {
8+
__unkeyed-1 = "prettierd";
9+
__unkeyed-2 = "prettier";
10+
timeout_ms = 2000;
11+
stop_after_first = true;
12+
};
13+
formatters = {
14+
prettierd.command = lib.getExe pkgs.prettierd;
15+
prettier.command = lib.getExe pkgs.prettier;
16+
};
17+
};
518
};
619
}

config/langs/default.nix

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,42 @@
66
map (fn: ./${fn}) (
77
filter (fn: (fn != "default.nix" && hasSuffix ".nix" "${fn}")) (attrNames (readDir ./.))
88
);
9+
10+
lsp = {
11+
inlayHints.enable = true;
12+
keymaps = [
13+
{
14+
key = "gd";
15+
lspBufAction = "definition";
16+
}
17+
{
18+
key = "gD";
19+
lspBufAction = "declaration";
20+
}
21+
{
22+
key = "gr";
23+
lspBufAction = "references";
24+
}
25+
{
26+
key = "gt";
27+
lspBufAction = "type_definition";
28+
}
29+
{
30+
key = "gi";
31+
lspBufAction = "implementation";
32+
}
33+
{
34+
key = "K";
35+
lspBufAction = "hover";
36+
}
37+
{
38+
action = lib.nixvim.mkRaw "require('telescope.builtin').lsp_definitions";
39+
key = "gd";
40+
}
41+
{
42+
action = "<CMD>Lspsaga hover_doc<Enter>";
43+
key = "K";
44+
}
45+
];
46+
};
947
}

config/langs/go.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
2+
lsp.servers.gopls.enable = true;
23
plugins = {
3-
lsp.servers.gopls.enable = true;
44
treesitter.settings.ensure_installed = [ "go" ];
5+
conform-nvim.settings.formatters_by_ft.go = [ "gofmt" ];
56
};
67
}

config/langs/html.nix

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
1+
{ lib, pkgs, ... }:
12
{
3+
lsp.servers.html.enable = true;
24
plugins = {
3-
lsp.servers.html.enable = true;
45
treesitter.settings.ensure_installed = [ "html" ];
6+
conform-nvim.settings = {
7+
formatters_by_ft.html = {
8+
__unkeyed-1 = "prettierd";
9+
__unkeyed-2 = "prettier";
10+
timeout_ms = 2000;
11+
stop_after_first = true;
12+
};
13+
formatters = {
14+
prettierd.command = lib.getExe pkgs.prettierd;
15+
prettier.command = lib.getExe pkgs.prettier;
16+
};
17+
};
518
};
619
}

config/langs/json.nix

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
1+
{ lib, pkgs, ... }:
12
{
3+
lsp.servers.jsonls.enable = true;
24
plugins = {
3-
lsp.servers.jsonls.enable = true;
45
treesitter.settings.ensure_installed = [
56
"json"
67
"jsonc"
78
];
9+
conform-nvim.settings = {
10+
formatters_by_ft.json = {
11+
__unkeyed-1 = "prettierd";
12+
__unkeyed-2 = "prettier";
13+
timeout_ms = 2000;
14+
stop_after_first = true;
15+
};
16+
formatters = {
17+
prettierd.command = lib.getExe pkgs.prettierd;
18+
prettier.command = lib.getExe pkgs.prettier;
19+
};
20+
};
821
};
922
}

config/langs/just.nix

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
1+
{ lib, pkgs, ... }:
12
{
3+
lsp.servers.just.enable = true;
24
plugins = {
3-
lsp.servers.just.enable = true;
45
treesitter.settings.ensure_installed = [ "just" ];
6+
conform-nvim.settings = {
7+
formatters_by_ft.just = [ "just" ];
8+
formatters.just = {
9+
command = lib.getExe pkgs.just;
10+
args = [
11+
"--fmt"
12+
"--stdin"
13+
];
14+
stdin = true;
15+
};
16+
};
517
};
618
}

0 commit comments

Comments
 (0)