32 lines
738 B
Nix
32 lines
738 B
Nix
{ 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;
|
|
};
|
|
}
|