users/ryan/modules/nvim/default.nix

7108fc28e06a6326f7a04251cc95bbe50ced6133 · 887 B · 53 lines raw

1 {config, lib, pkgs, ...}:
2
3 with lib;
4
5 let
6 cfg = config.ryan.neovim;
7 in
8 {
9 options.ryan.neovim.enable = mkEnableOption "Neovim";
10
11 config = mkIf cfg.enable {
12 programs.neovim = {
13 enable = true;
14
15 extraConfig = builtins.readFile ./init.vim;
16
17 initLua = builtins.readFile ./init.lua;
18
19 plugins = with pkgs.vimPlugins; [
20 vim-pandoc
21 vim-pandoc-syntax
22 vim-table-mode
23
24 tokyonight-nvim
25 lualine-nvim
26 nvim-web-devicons
27
28 coq_nvim
29 #coq-artifacts
30
31 (nvim-treesitter.withPlugins (p: [
32 p.zig
33 p.go
34 p.python
35 p.vim
36 ]))
37
38 #transparent-nvim
39 marks-nvim
40 leap-nvim
41 ];
42
43 extraPackages = with pkgs; [
44 pyright
45 gopls
46 zls
47 ];
48
49 };
50
51 xdg.configFile."nvim/after".source = ./extraConfigs/after;
52 };
53 }