]> Git — Sourcephile - julm/julm-nix.git/blob - home-manager/profiles/vim.nix
mmsd: add package and service
[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 # This has the drawback of recompiling/sending vim
45 pkgs.vim_configurable.override {
46 config.vim.gui = "none";
47 };
48 };
49
50 programs.neovim = {
51 extraConfig =
52 readFile vim/init.vim +
53 readFile vim/ale.vim;
54 plugins = [
55 #pkgs.vimPlugins.vim-lsc
56 pkgs.vimPlugins.gitgutter
57 #pkgs.vimPlugins.nvim-yarp
58 #pkgs.vimPlugins.deoplete-nvim
59 #pkgs.vimPlugins.deoplete-lsp
60 #pkgs.vimPlugins.LanguageClient-neovim
61 #pkgs.vimPlugins.fzf-vim
62 #pkgs.vimPlugins.echodoc
63 pkgs.vimPlugins.ale
64 #pkgs.vimPlugins.indentLine
65 #pkgs.vimPlugins.vim-indent-guides
66 #pkgs.vimPlugins.coc-nvim
67 #pkgs.vimPlugins.coc-diagnostic
68 #pkgs.vimPlugins.coc-json
69 #pkgs.vimPlugins.coc-lists
70 pkgs.vimPlugins.easy-align
71 pkgs.vimPlugins.hoogle
72 pkgs.vimPlugins.Recover-vim
73 #pkgs.vimPlugins.syntastic
74 #pkgs.vimPlugins.The_NERD_tree
75 pkgs.vimPlugins.vim-dirvish
76 pkgs.vimPlugins.vim-buffergator
77 pkgs.vimPlugins.vim-markdown
78 pkgs.vimPlugins.vimproc
79 #pkgs.vimPlugins.fugitive
80 ];
81 };
82 }