aboutsummaryrefslogtreecommitdiffstats
path: root/modules/tools/nixvim/plugins.nix
blob: 9af84fb27d697a608a9015c5dd85707569ca0ffe (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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
{ pkgs, config, lib, ... }:

{
	config = lib.mkIf config.tools.nixvim.enable {
		programs.nixvim.plugins = {
			comment = {
				enable = true;
			};
			lualine = {
				enable = true;
				settings = {
					options = {
						theme = with config.scheme.withHashtag; {
							normal = {
								a = { fg = base00; bg = base0D; gui = "bold"; };
								b = { fg = base05; bg = base01; };
								c = { fg = base05; bg = base00; };
							};
							insert = {
								a = { fg = base00; bg = base0B; gui = "bold"; };
								b = { fg = base05; bg = base01; };
								c = { fg = base05; bg = base00; };
							};
							visual = {
								a = { fg = base00; bg = base0A; gui = "bold"; };
								b = { fg = base05; bg = base01; };
								c = { fg = base05; bg = base00; };
							};
							replace = {
								a = { fg = base00; bg = base08; gui = "bold"; };
								b = { fg = base05; bg = base01; };
								c = { fg = base05; bg = base00; };
							};
							inactive = {
								a = { fg = base04; bg = base00; gui = "bold"; };
								b = { fg = base04; bg = base00; };
								c = { fg = base04; bg = base00; };
							};
						};
						icons_enabled = true;
					};
				};
			};
			noice = {
				enable = true;
				cmdline = {
					enabled = true;
					view = "cmdline_popup";
				};
				popupmenu = {
					enabled = true;
					backend = "cmp";
				};
				presets = {
					command_palette = true;
				};
			};
			nvim-tree = {
				enable = true;
				settings = {
					filters = {
						dotfiles = false;
						git_clean = false;
						no_buffer = false;
						custom = {};
					};
					git = {
						enable = true;
						ignore = false;
					};
					view = {
						width = {
							padding = 0;
						};
					};
					renderer = {
						indent_markers = {
							enable = true;
							inline_arrows = false;
							icons = {
								corner = "└";
								edge = "│";
								item = "├";
								bottom = "─";
								none = " ";
							};
						};
						icons = {
							show = {
								folder = true;
								folder_arrow = false;
								file = true;
								git = true;
							};
						};
					};
				};
			};
			treesitter = {
				enable = true;
				settings = {
					highlight = { enable = true; };
					indent = { enable = true; };
				};
			};
			web-devicons = {
				enable = true;
			};
			which-key = {
				enable = true;
				settings = {
					plugins = {
						marks = true;
						registers = true;
						spelling = { enabled = true; suggestions = 20; };
					};
					win = { border = "single"; };
				};
			};
		};
	};
}