{ gitpkgs ? import /home/steveej/src/github/NixOS/nixpkgs { }, pkgs ? gitpkgs , name ? "generic", version ? "Stable", extraBuildInputs ? [ ] }: let rustPackages = builtins.getAttr "rust${version}" pkgs; rustc = rustPackages.rustc; rustShellHook = { rustc, name }: '' rustname=rust_${rustc.version}_${name} setPS1 $rustname unset name ''; commonVimRC = ""; in pkgs.stdenv.mkDerivation { inherit name; buildInputs = with rustPackages; [ (import ./vim-rust.nix { pkgs = gitpkgs; commonRC = commonVimRC; inherit rustc; racerd = pkgs.rustracerd; }) rustc cargo ] ++ [ pkgs.rustfmt ] ++ extraBuildInputs; shellHook = (rustShellHook) { inherit name; inherit rustc; }; }