{ pkgs, ... }: let unstablepkgs = import {}; in { home.sessionVariables = { EDITOR = "nvim"; }; nixpkgs.config = { pidgin = { openssl = true; gnutls = true; }; packageOverrides = pkgs: with pkgs; { neovim = unstablepkgs.neovim; vimPlugins = unstablepkgs.vimPlugins; }; }; programs.neovim = { enable = true; extraPythonPackages = (ps: with ps; [ ]); extraPython3Packages = (ps: with ps; [ ]); configure = { customRC = builtins.readFile ./neovim/vimrc; vam = { knownPlugins = with pkgs; vimPlugins // { delimitMate = vimUtils.buildVimPlugin { name = "delimitMate-vim"; src = fetchFromGitHub { owner = "Raimondi"; repo = "delimitMate"; rev = "728b57a6564c1d2bdfb9b9e0f2f8c5ba3d7e0c5c"; sha256 = "0fskm9gz81dk8arcidrm71mv72a7isng1clssqkqn5wnygbiimsn"; }; buildInputs = [ zip vim ]; }; yaml-folds = vimUtils.buildVimPlugin { name = "vim-yaml-folds"; src = fetchFromGitHub { owner = "pedrohdz"; repo = "vim-yaml-folds"; rev = "0672d9a3b685b51b4c49d8716c2ad4e27cfa5abd"; sha256 = "0yp2jgaqiria79lh75fkrs77rw7nk518bq63w9bvyy814i7s4scn"; }; buildInputs = [ zip vim ]; }; vim-yaml = vimUtils.buildVimPlugin { name = "vim-yaml"; src = fetchFromGitHub { owner = "stephpy"; repo = "vim-yaml"; rev = "e97e063b16eba4e593d620676a0a15fa98613979"; sha256 = "0vqahbrnr43lxanpziyrmzaqqb3cmyny8ry1xvmy2xyd1larzfrk"; }; }; vim-markdown-toc = vimUtils.buildVimPlugin { name = "vim-markdown-toc"; src = fetchFromGitHub { owner = "mzlogin"; repo = "vim-markdown-toc"; rev = "a6e227023f405a7c39590a8aaf0d54dde5614a2e"; sha256 = "1vpsnjzc7hvrkp6mq68myxl3k1x363iif58rrd17njcsa4jh1zwy"; }; }; vim-perl = vimUtils.buildVimPlugin { name = "vim-perl"; src = fetchFromGitHub { owner = "vim-perl"; repo = "vim-perl"; rev = "21d0a0d795336acf8a9306da35f379c32cfc5e08"; sha256 = "0f2sa0v3djd89k16n4saji9n7grziyhkljq75dskcbv8r19m8i1j"; }; }; git-blame = vimUtils.buildVimPlugin { name = "git-blame"; src = fetchFromGitHub { "owner" = "zivyangll"; "repo" = "git-blame.vim"; "rev" = "a5b666840eead1b1ea1c351038da6ce026716bb6"; "sha256" = "181siphb87yzln9433159ssa6vmm1h2dd0kqhlx7bgsi51gng4rv"; }; }; }; pluginDictionaries = let default = [ "delimitMate" "vim-airline" "vim-airline-themes" "ctrlp" "vim-css-color" "rainbow_parentheses" "vim-colorschemes" "vim-colorstepper" "vim-signify" "fugitive" "ctrlp" "vim-indent-guides" "UltiSnips" "fzfWrapper" "ncm2" "ncm2-bufword" "ncm2-path" "ncm2-tmux" "ncm2-ultisnips" "nvim-yarp" "LanguageClient-neovim" "Improved-AnsiEsc" "tabular" "git-blame" # Nix "vim-addon-nix" "vim-addon-vim2nix" # LaTeX "vim-latex-live-preview" "vimtex" # YAML "yaml-folds" "vim-yaml" # Perl # "vim-perl" # markdown "vim-markdown" "vim-markdown-toc" # misc syntax support "vim-bazel" ]; in [ { names = default; } { names = default ++ [ ]; filename_regex = ".*\.nix\$"; } { names = default ++ [ ]; filename_regex = ".*\.tex\$"; } ]; }; }; }; }