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