Created
July 17, 2016 18:20
-
-
Save LukasKalbertodt/4bee64e48a123a61bb25f861a46e7888 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
TMP_PATH=/tmp/rust-blast-off-$(date +%s) | |
mkdir $TMP_PATH | |
### install rustup in tmp dir ### | |
echo "=========================================" | |
echo "=== Just press Enter soon ;-) ===" | |
echo "=========================================" | |
HOME_BACKUP=$HOME | |
HOME=$TMP_PATH | |
curl https://sh.rustup.rs -sSf | sh | |
HOME=$HOME_BACKUP | |
### backup old stuff ### | |
echo "=== I will backup old .cargo and .multirust folders" | |
echo "=== as .cargo_bu and .multirust_bu" | |
if [ -e $HOME/.cargo ] | |
then | |
mv $HOME/.cargo $HOME/.cargo-bu-$(date +%s) | |
fi | |
if [ -e $HOME/.multirust ] | |
then | |
mv $HOME/.multirust $HOME/.multirust-bu-$(date +%s) | |
fi | |
### init cargo dir ### | |
mkdir $HOME/.cargo | |
cp $TMP_PATH/.cargo/env $HOME/.cargo/env | |
mkdir -p /local/.cargo/bin | |
cp -r $TMP_PATH/.cargo/bin/* /local/.cargo/bin | |
mkdir -p /local/.cargo/registry | |
ln -s /local/.cargo/bin $HOME/.cargo/bin | |
ln -s /local/.cargo/registry $HOME/.cargo/registry | |
### init .multirust dir ### | |
mkdir $HOME/.multirust/ | |
cp $TMP_PATH/.multirust/settings.toml $HOME/.multirust/ | |
cp -r $TMP_PATH/.multirust/update-hashes $HOME/.multirust/ | |
mkdir -p /local/.multirust/toolchains | |
cp -r $TMP_PATH/.multirust/toolchains/* /local/.multirust/toolchains | |
ln -s /local/.multirust/toolchains $HOME/.multirust/toolchains | |
### add PATH stuff to .profile | |
echo "export PATH=\"/local/.cargo/bin:$PATH\"" >> $HOME/.profile | |
echo "Rust should be installed..." | |
### installing stuff ### | |
echo "Installing more stuff, this could take a while" | |
source $HOME/.cargo/env | |
cargo install rustfmt | |
cargo install cargo-edit | |
cargo install racer | |
cargo install cargo-check | |
cargo install cargo-outdated | |
### downloading rust source for racer ### | |
wget -O /local/source.tar.gz https://static.rust-lang.org/dist/rustc-1.10.0-src.tar.gz | |
tar -xzf /local/source.tar.gz | |
mv rustc-1.10.0 rustc-src | |
echo "export RUST_SRC_PATH=/local/rustc-src/src" >> .profile | |
### set to 777 because it's shared ### | |
chmod -R 777 /local/.cargo | |
chmod -R 777 /local/.multirust | |
chmod -R 777 /local/rustc-src | |
### finished ### | |
echo "=========================================" | |
echo "=== Everything should be set up... ===" | |
echo "=== Please log out and in again :) ===" | |
echo "=========================================" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment