aboutsummaryrefslogtreecommitdiffstats
path: root/nvim/default.nix
blob: f2589aee7b5907ad9bad1225a7fdbc9e571eebc6 (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
{ pkgs, config, ... }:

{
	programs.neovim =
	let
		toLua = str: "lua << EOF\n${str}\nEOF\n";
		toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";
	in {
		enable = true;
		viAlias = true;
		vimAlias = true;
		vimdiffAlias = true;

		extraLuaConfig = ''
${import ./colorscheme.nix config}
${builtins.readFile ./options.lua}
${builtins.readFile ./keybindings.lua}
'';
		plugins = with pkgs.vimPlugins; [
			{
				plugin = comment-nvim;
				config = toLuaFile ./plugins/comment.lua;
			}

			{
				plugin = lualine-nvim;
				config = toLua (import ./plugins/lualine/default.nix config);
			}

			nvim-web-devicons
			{
				plugin = nvim-tree-lua;
				config = toLuaFile ./plugins/nvim-tree.lua;
			}
		];
	};
}