summaryrefslogtreecommitdiff
path: root/users/seth/programs/neovim/default.nix
blob: 471c885cd2c4be542068adfe69adde50082f30ca (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
{
	config,
	lib,
	pkgs,
	...
}: {
	programs.neovim = {
		enable = true;
		extraPackages = with pkgs; [
			alejandra
			black
			clang
			codespell
			deadnix
			nodePackages.alex
			nodePackages.bash-language-server
			nodePackages.prettier
			nodePackages.pyright
			python310Packages.flake8
			rust-analyzer
			rustfmt
			statix
			stylua
			sumneko-lua-language-server
		];
		plugins = with pkgs.vimPlugins; [
			lualine-nvim
			catppuccin-nvim
			barbar-nvim
			lightspeed-nvim
			nvim-tree-lua
			nvim-lspconfig
			null-ls-nvim
			plenary-nvim
			(nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars))
			nvim-cmp
			cmp-nvim-lsp
			cmp-buffer
			cmp-path
			cmp-vsnip
			vim-vsnip
			luasnip
			cmp_luasnip
			trouble-nvim
			nvim-web-devicons
			telescope-nvim
			gitsigns-nvim
			editorconfig-nvim
		];
	};

	xdg.configFile."nvim" = {
		source = ./lua;
		recursive = true;
	};
}