diff --git a/rust_environment/shell.nix b/rust_environment/shell.nix new file mode 100644 index 0000000..6255daf --- /dev/null +++ b/rust_environment/shell.nix @@ -0,0 +1,30 @@ +{ pkgs ? import {} }: +pkgs.mkShell { + NIX_ENFORCE_PURITY=0; + buildInputs = with pkgs; [ + cargo + rustc + ]; + shellHook = '' + function log_header { + echo -ne "==> \e[32m\e[1m$1\e[0m\n\n" + } + function log_subheader { + echo -ne "--> \e[33m\e[1m$1\e[0m\n\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)" + ''; +}