Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 44 lines 1.2 kB view raw
1{ 2 lib, 3 stdenv, 4 config, 5 vim-full, 6 macvim, 7 vimPlugins, 8 useMacvim ? stdenv.hostPlatform.isDarwin && (config.vimacs.macvim or true), 9 vimacsExtraArgs ? "", 10}: 11 12stdenv.mkDerivation rec { 13 pname = "vimacs"; 14 version = lib.getVersion vimPackage; 15 vimPackage = if useMacvim then macvim else vim-full; 16 17 buildInputs = [ 18 vimPackage 19 vimPlugins.vimacs 20 ]; 21 22 buildCommand = '' 23 mkdir -p "$out"/bin 24 cp "${vimPlugins.vimacs}"/bin/vim $out/bin/vimacs 25 substituteInPlace "$out"/bin/vimacs \ 26 --replace '-vim}' '-@bin@/bin/vim}' \ 27 --replace '-gvim}' '-@bin@/bin/vim -g}' \ 28 --replace '--cmd "let g:VM_Enabled = 1"' \ 29 '--cmd "let g:VM_Enabled = 1" --cmd "set rtp^=@rtp@" ${vimacsExtraArgs}' \ 30 --replace @rtp@ ${vimPlugins.vimacs} \ 31 --replace @bin@ ${vimPackage} 32 for prog in vm gvm gvimacs vmdiff vimacsdiff 33 do 34 ln -s "$out"/bin/vimacs $out/bin/$prog 35 done 36 ''; 37 38 meta = with lib; { 39 description = "Vim-Improved eMACS: Emacs emulation for Vim"; 40 homepage = "http://algorithm.com.au/code/vimacs"; 41 license = licenses.gpl2Plus; 42 maintainers = with lib.maintainers; [ millerjason ]; 43 }; 44}