31 lines
635 B
Nix
31 lines
635 B
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
pkgs.mkShell {
|
|
NIX_ENFORCE_PURITY=0;
|
|
buildInputs = with pkgs; [
|
|
cargo
|
|
rustc
|
|
rustfmt
|
|
];
|
|
shellHook = ''
|
|
function log_header {
|
|
echo -ne "==> \e[32m\e[1m$1\e[0m\n"
|
|
}
|
|
function log_subheader {
|
|
echo -ne "--> \e[33m\e[1m$1\e[0m\n"
|
|
}
|
|
function log {
|
|
echo -ne " $1\n"
|
|
}
|
|
|
|
echo ""
|
|
log_header "rust_environment"
|
|
if [ -s Cargo.toml ]; then
|
|
log_subheader "found Cargo.toml, running 'cargo-build'"
|
|
cargo build
|
|
echo ""
|
|
fi
|
|
log_header "package versions"
|
|
log "$(rustc --version)"
|
|
log "$(cargo --version)"
|
|
'';
|
|
}
|