pumpkin: wireshark: enable
[julm/julm-nix.git] / home-manager / profiles / vim.nix
index 87b0158d2c99e7084ad20723ecc84c281d4d0900..207121e50a91b16f67d58409f7e5ac918e6b9210 100644 (file)
@@ -1,81 +1,83 @@
 { pkgs, lib, config, nixosConfig, ... }:
 let inherit (builtins) readFile; in
 {
-programs.vim = {
-  enable = true;
-  extraConfig =
-    readFile vim/init.vim
-    #+ readFile home/vim/syntastic.vim
-    #+ readFile home/vim/coc.vim
-    + readFile vim/ale.vim
+  programs.vim = {
+    enable = lib.mkDefault true;
+    extraConfig =
+      readFile vim/init.vim
+      #+ readFile home/vim/syntastic.vim
+      #+ readFile home/vim/coc.vim
+      + readFile vim/ale.vim
     ;
-  # Plugin list:
-  # nix-instantiate -E --eval 'builtins.attrNames (import <nixpkgs> {}).vimPlugins'
-  plugins = [
-    #pkgs.vimPlugins.vim-lsc
-    pkgs.vimPlugins.gitgutter
-    #pkgs.vimPlugins.nvim-yarp
-    #pkgs.vimPlugins.deoplete-nvim
-    #pkgs.vimPlugins.deoplete-lsp
-    #pkgs.vimPlugins.LanguageClient-neovim
-    #pkgs.vimPlugins.fzf-vim
-    #pkgs.vimPlugins.echodoc
-    pkgs.vimPlugins.ale
-    #pkgs.vimPlugins.indentLine
-    #pkgs.vimPlugins.vim-indent-guides
-    #pkgs.vimPlugins.coc-nvim
-    #pkgs.vimPlugins.coc-diagnostic
-    #pkgs.vimPlugins.coc-json
-    #pkgs.vimPlugins.coc-lists
-    pkgs.vimPlugins.easy-align
-    pkgs.vimPlugins.hoogle
-    pkgs.vimPlugins.Recover-vim
-    #pkgs.vimPlugins.syntastic
-    #pkgs.vimPlugins.The_NERD_tree
-    pkgs.vimPlugins.vim-dirvish
-    pkgs.vimPlugins.vim-buffergator
-    pkgs.vimPlugins.vim-markdown
-    pkgs.vimPlugins.vimproc
-    #pkgs.vimPlugins.fugitive
-    pkgs.vimPlugins.vim-ghcid-quickfix
-  ];
-} // lib.optionalAttrs (!nixosConfig.services.xserver.enable) {
-  packageConfigurable =
-    pkgs.vim_configurable.override {
-      config.vim.gui = "none";
-    };
-};
+    # Plugin list:
+    # nix-instantiate -E --eval 'builtins.attrNames (import <nixpkgs> {}).vimPlugins'
+    plugins = [
+      #pkgs.vimPlugins.vim-lsc
+      pkgs.vimPlugins.gitgutter
+      #pkgs.vimPlugins.nvim-yarp
+      #pkgs.vimPlugins.deoplete-nvim
+      #pkgs.vimPlugins.deoplete-lsp
+      #pkgs.vimPlugins.LanguageClient-neovim
+      #pkgs.vimPlugins.fzf-vim
+      #pkgs.vimPlugins.echodoc
+      pkgs.vimPlugins.ale
+      #pkgs.vimPlugins.indentLine
+      #pkgs.vimPlugins.vim-indent-guides
+      #pkgs.vimPlugins.coc-nvim
+      #pkgs.vimPlugins.coc-diagnostic
+      #pkgs.vimPlugins.coc-json
+      #pkgs.vimPlugins.coc-lists
+      pkgs.vimPlugins.easy-align
+      pkgs.vimPlugins.hoogle
+      pkgs.vimPlugins.Recover-vim
+      #pkgs.vimPlugins.syntastic
+      #pkgs.vimPlugins.The_NERD_tree
+      pkgs.vimPlugins.vim-dirvish
+      pkgs.vimPlugins.vim-buffergator
+      pkgs.vimPlugins.vim-markdown
+      pkgs.vimPlugins.vimproc
+      #pkgs.vimPlugins.fugitive
+      pkgs.vimPlugins.vim-ghcid-quickfix
+    ];
+  } /* // lib.optionalAttrs (!nixosConfig.services.xserver.enable) {
+    packageConfigurable =
+      # This has the drawback of recompiling/sending vim
+      pkgs.vim-full.override {
+        features = "normal";
+        config.vim.gui = "none";
+      };
+  }*/;
 
-programs.neovim = {
-  extraConfig =
-    readFile vim/init.vim +
-    readFile vim/ale.vim;
-  plugins = [
-    #pkgs.vimPlugins.vim-lsc
-    pkgs.vimPlugins.gitgutter
-    #pkgs.vimPlugins.nvim-yarp
-    #pkgs.vimPlugins.deoplete-nvim
-    #pkgs.vimPlugins.deoplete-lsp
-    #pkgs.vimPlugins.LanguageClient-neovim
-    #pkgs.vimPlugins.fzf-vim
-    #pkgs.vimPlugins.echodoc
-    pkgs.vimPlugins.ale
-    #pkgs.vimPlugins.indentLine
-    #pkgs.vimPlugins.vim-indent-guides
-    #pkgs.vimPlugins.coc-nvim
-    #pkgs.vimPlugins.coc-diagnostic
-    #pkgs.vimPlugins.coc-json
-    #pkgs.vimPlugins.coc-lists
-    pkgs.vimPlugins.easy-align
-    pkgs.vimPlugins.hoogle
-    pkgs.vimPlugins.Recover-vim
-    #pkgs.vimPlugins.syntastic
-    #pkgs.vimPlugins.The_NERD_tree
-    pkgs.vimPlugins.vim-dirvish
-    pkgs.vimPlugins.vim-buffergator
-    pkgs.vimPlugins.vim-markdown
-    pkgs.vimPlugins.vimproc
-    #pkgs.vimPlugins.fugitive
-  ];
-};
+  programs.neovim = {
+    extraConfig =
+      readFile vim/init.vim +
+      readFile vim/ale.vim;
+    plugins = [
+      #pkgs.vimPlugins.vim-lsc
+      pkgs.vimPlugins.gitgutter
+      #pkgs.vimPlugins.nvim-yarp
+      #pkgs.vimPlugins.deoplete-nvim
+      #pkgs.vimPlugins.deoplete-lsp
+      #pkgs.vimPlugins.LanguageClient-neovim
+      #pkgs.vimPlugins.fzf-vim
+      #pkgs.vimPlugins.echodoc
+      pkgs.vimPlugins.ale
+      #pkgs.vimPlugins.indentLine
+      #pkgs.vimPlugins.vim-indent-guides
+      #pkgs.vimPlugins.coc-nvim
+      #pkgs.vimPlugins.coc-diagnostic
+      #pkgs.vimPlugins.coc-json
+      #pkgs.vimPlugins.coc-lists
+      pkgs.vimPlugins.easy-align
+      pkgs.vimPlugins.hoogle
+      pkgs.vimPlugins.Recover-vim
+      #pkgs.vimPlugins.syntastic
+      #pkgs.vimPlugins.The_NERD_tree
+      pkgs.vimPlugins.vim-dirvish
+      pkgs.vimPlugins.vim-buffergator
+      pkgs.vimPlugins.vim-markdown
+      pkgs.vimPlugins.vimproc
+      #pkgs.vimPlugins.fugitive
+    ];
+  };
 }