{ nixpkgs ? import {}}: nixpkgs.callPackage ( { stdenv, rust, libbap, llvmPackages, vim_configurable }: # Vim with rust + git support let vim = vim_configurable.customize { name = "vim"; vimrcConfig.customRC = '' set backspace=indent,eol,start let g:rustfmt_autosave = 1 autocmd FileType rust compiler cargo let g:racer_cmd = "${nixpkgs.rustracer}/bin/racer" let $RUST_SRC_PATH="${nixpkgs.rustc.src}/src" let g:racer_experimental_completer = 1 au FileType rust nmap gd (rust-def) au FileType rust nmap gs (rust-def-split) au FileType rust nmap gx (rust-def-vertical) au FileType rust nmap gd (rust-doc) ''; vimrcConfig.vam.pluginDictionaries = [{ names = [ "fugitive" "vim-racer" "rust-vim" "syntastic" ];}]; }; in stdenv.mkDerivation rec { name = "bap-rust"; buildInputs = [ rust libbap vim ]; LIBCLANG_PATH = "${llvmPackages.clang-unwrapped.lib}/lib"; } ) {rust = nixpkgs.rustChannels.nightly.rust; }