120 lines
2.8 KiB
Bash
Executable file
120 lines
2.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
echo
|
|
echo "configuring settings common among OSes"
|
|
sudo true
|
|
|
|
#zsh
|
|
if [[ -z $DONT_CHANGE_SHELL ]]; then
|
|
echo "changing shell to zsh"
|
|
chsh -s `which zsh` $USER
|
|
fi
|
|
|
|
#submodules
|
|
DIR=`realpath $DIR`
|
|
echo "using $DIR as the top level directory"
|
|
cd $DIR
|
|
git submodule update --init --recursive
|
|
|
|
#configs
|
|
ln -vfs "$DIR/.vim" ~/.
|
|
ln -vfs "$DIR/.vimrc" ~/.
|
|
ln -vfs "$DIR/.tmux.conf" ~/.
|
|
rm -f "~/.zshrc"
|
|
ln -vfs "$DIR/.zshrc" ~/.
|
|
ln -vfs "$DIR/.oh-my-zsh" ~/.
|
|
ln -vfs "$DIR/.oh-my-zsh-plugins/zsh-syntax-highlighting" ~/.oh-my-zsh/custom/plugins/
|
|
ln -vfs "$DIR/.Slic3r" ~/.
|
|
ln -vfs "$DIR/.ghci" ~/.
|
|
mkdir -p ~/.kde/share/config/
|
|
ln -vfs "$DIR/.kdiff3rc" ~/.kde/share/config/kdiff3rc
|
|
ln -vfs "$DIR/.conky" ~/.
|
|
ln -vfs "$DIR/.gitconfig.linux.private" ~/.gitconfig
|
|
mkdir -p ~/.config/autostart/
|
|
# autostart apps
|
|
ln -vfs "$DIR/.config/autostart/conky.desktop" ~/.config/autostart/
|
|
ln -vfs "$DIR/.config/autostart/redshift-gtk.desktop" ~/.config/autostart/
|
|
mkdir -p ~/.config/vdirsyncer/
|
|
ln -vfs "$DIR/.config/vdirsyncer/config" ~/.config/vdirsyncer/
|
|
ln -vfs "$DIR/.config/redshift.conf" ~/.config/redshift.conf
|
|
|
|
cd "$DIR/.vim/bundle/YouCompleteMe/"
|
|
git submodule update --init --recursive
|
|
python install.py --clang-completer
|
|
|
|
# symlink 'nodejs' as node on some systems
|
|
# will replace symlink if it exists, but won't replace regular file
|
|
if [[ ! -f /usr/bin/node ]]; then
|
|
sudo ln -vfs /usr/bin/nodejs /usr/bin/node
|
|
fi
|
|
|
|
# tools
|
|
ln -vfs "$DIR/tools" ~/
|
|
|
|
# stuff that does not like symbolic links
|
|
mkdir -vp ~/.config/terminator
|
|
rm -f ~/.config/terminator/config
|
|
ln "$DIR/.config/terminator/config" ~/.config/terminator/config
|
|
|
|
#install fonts
|
|
mkdir -p ~/.fonts
|
|
cp -rv "$DIR/fonts" ~/.fonts
|
|
set +e
|
|
fc-cache -rv
|
|
sudo fc-cache -rv
|
|
set -e
|
|
|
|
#rust
|
|
echo "installing rust"
|
|
BLASTOFF_TEMP="/tmp/blastoff.sh"
|
|
curl -sf https://raw.githubusercontent.com/brson/multirust/master/quick-install.sh > "$BLASTOFF_TEMP"
|
|
chmod a+x "$BLASTOFF_TEMP"
|
|
"$BLASTOFF_TEMP" --yes
|
|
rm -f "$BLASTOFF_TEMP"
|
|
multirust update
|
|
multirust default stable
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
|
|
cd "$DIR/../"
|
|
echo "getting rust sources..."
|
|
if [[ ! -d rust ]]; then
|
|
git clone https://github.com/rust-lang/rust.git
|
|
else
|
|
cd rust
|
|
git pull
|
|
fi
|
|
|
|
# racer
|
|
cargo install racer
|
|
|
|
# rvm
|
|
gpg --recv-keys BF04FF17
|
|
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
|
|
curl -sSL https://get.rvm.io | bash -s stable
|
|
source $HOME/.rvm/scripts/rvm
|
|
rvm install ruby
|
|
|
|
# go
|
|
export GOPATH="$HOME/go"
|
|
mkdir -p "$GOPATH"
|
|
|
|
# excercism
|
|
go get -u github.com/exercism/cli/exercism
|
|
|
|
# talks: reveal-md
|
|
sudo npm install -g reveal-md
|
|
sudo npm install -g diff-so-fancy
|
|
|
|
# vdir syncer
|
|
echo "installing vdirsyncer"
|
|
sudo pip install vdirsyncer
|
|
|
|
# normalize npm permissions
|
|
mkdir -p $HOME/.npm
|
|
sudo chown $USER $HOME/.npm -R
|
|
|
|
echo
|
|
echo "now go ahead and restart"
|
|
echo
|
|
|
|
|