{pkgs, ... }: let myVim = pkgs.vim_configurable.customize { # Specifies the vim binary name. # E.g. set this to "my-vim" and you need to type "my-vim" to open this vim # This allows to have multiple vim packages installed (e.g. with a different set of plugins) name = "vim"; vimrcConfig.customRC = builtins.readFile ./vimrc; vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; { start = [ wombat256-vim ale ]; opt = [ elm-vim vim-fish vimwiki ]; }; }; in { programs.vim = { defaultEditor = true; package = myVim; }; }