]> Git — Sourcephile - julm/julm-nix.git/blob - homes/programs/vim.nix
nix: put public keys in private/shared
[julm/julm-nix.git] / homes / programs / vim.nix
1 { pkgs, lib, config, nixosConfig, ... }:
2 let inherit (builtins) readFile; in
3 {
4 programs.vim = {
5 extraConfig =
6 readFile vim/init.vim
7 #+ readFile home/vim/syntastic.vim
8 #+ readFile home/vim/coc.vim
9 + readFile vim/ale.vim
10 ;
11 # Plugin list:
12 # nix-instantiate -E --eval 'builtins.attrNames (import <nixpkgs> {}).vimPlugins'
13 plugins = [
14 #pkgs.vimPlugins.vim-lsc
15 pkgs.vimPlugins.gitgutter
16 #pkgs.vimPlugins.nvim-yarp
17 #pkgs.vimPlugins.deoplete-nvim
18 #pkgs.vimPlugins.deoplete-lsp
19 #pkgs.vimPlugins.LanguageClient-neovim
20 #pkgs.vimPlugins.fzf-vim
21 #pkgs.vimPlugins.echodoc
22 pkgs.vimPlugins.ale
23 #pkgs.vimPlugins.indentLine
24 #pkgs.vimPlugins.vim-indent-guides
25 #pkgs.vimPlugins.coc-nvim
26 #pkgs.vimPlugins.coc-diagnostic
27 #pkgs.vimPlugins.coc-json
28 #pkgs.vimPlugins.coc-lists
29 pkgs.vimPlugins.easy-align
30 pkgs.vimPlugins.hoogle
31 pkgs.vimPlugins.Recover-vim
32 #pkgs.vimPlugins.syntastic
33 #pkgs.vimPlugins.The_NERD_tree
34 pkgs.vimPlugins.vim-dirvish
35 pkgs.vimPlugins.vim-buffergator
36 pkgs.vimPlugins.vim-markdown
37 pkgs.vimPlugins.vimproc
38 #pkgs.vimPlugins.fugitive
39 pkgs.vimPlugins.vim-ghcid-quickfix
40 ];
41 } // lib.optionalAttrs (!nixosConfig.services.xserver.enable) {
42 packageConfigurable =
43 pkgs.vim_configurable.override {
44 config.vim.gui = "none";
45 };
46 };
47
48 programs.neovim = {
49 extraConfig =
50 readFile vim/init.vim +
51 readFile vim/ale.vim;
52 plugins = [
53 #pkgs.vimPlugins.vim-lsc
54 pkgs.vimPlugins.gitgutter
55 #pkgs.vimPlugins.nvim-yarp
56 #pkgs.vimPlugins.deoplete-nvim
57 #pkgs.vimPlugins.deoplete-lsp
58 #pkgs.vimPlugins.LanguageClient-neovim
59 #pkgs.vimPlugins.fzf-vim
60 #pkgs.vimPlugins.echodoc
61 pkgs.vimPlugins.ale
62 #pkgs.vimPlugins.indentLine
63 #pkgs.vimPlugins.vim-indent-guides
64 #pkgs.vimPlugins.coc-nvim
65 #pkgs.vimPlugins.coc-diagnostic
66 #pkgs.vimPlugins.coc-json
67 #pkgs.vimPlugins.coc-lists
68 pkgs.vimPlugins.easy-align
69 pkgs.vimPlugins.hoogle
70 pkgs.vimPlugins.Recover-vim
71 #pkgs.vimPlugins.syntastic
72 #pkgs.vimPlugins.The_NERD_tree
73 pkgs.vimPlugins.vim-dirvish
74 pkgs.vimPlugins.vim-buffergator
75 pkgs.vimPlugins.vim-markdown
76 pkgs.vimPlugins.vimproc
77 #pkgs.vimPlugins.fugitive
78 ];
79 };
80 }