home-manager: update
[julm/julm-nix.git] / home-manager / profiles / vim.nix
index 87b0158d2c99e7084ad20723ecc84c281d4d0900..f57c01fb7d9ac3835b3940e8fb573fd17cd500d0 100644 (file)
@@ -1,81 +1,92 @@
-{ 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
-    ;
-  # 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";
-    };
-};
+  pkgs,
+  lib,
+  config,
+  nixosConfig,
+  ...
+}:
+let
+  inherit (builtins) readFile;
+in
+{
+  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 =
+        # 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
+    ];
+  };
 }