41 lines
1.7 KiB
Bash
41 lines
1.7 KiB
Bash
#! /bin/sh
|
|
DISTRO=$(lsb_release -is | tr '[A-Z]' '[a-z]')
|
|
SUITE=$(lsb_release -cs)
|
|
|
|
sudo -S bash -c "apt update && apt dist-upgrade && \
|
|
apt install bash-completion locales man mc elinks git zsh curl neovim byobu htop \
|
|
command-not-found apt-file apt-transport-https ca-certificates software-properties-common \
|
|
python3-venv python3 libpython-dev libpython3-dev cmake clang build-essential && \
|
|
apt-file update && \
|
|
update-command-not-found"
|
|
|
|
# clone the entire environment from github
|
|
TMPDIR=$(mktemp -u -p "$HOME" -d dotfiles.XXXXX) && \
|
|
git clone --separate-git-dir="$HOME/.cfg" https://github.com/schtobia/dotfiles.git "$TMPDIR" && \
|
|
[ -r "$TMPDIR/.gitmodules" ] && cp -vi "$TMPDIR/.gitmodules" "$HOME"
|
|
[ -d "$HOME/.cfg" ] && \
|
|
git --git-dir="$HOME/.cfg/" --work-tree="$HOME" config status.showUntrackedFiles no && \
|
|
(cd $HOME && \
|
|
git --git-dir="$HOME/.cfg/" --work-tree="$HOME" checkout -- . && \
|
|
git --git-dir="$HOME/.cfg/" --work-tree="$HOME" submodule update --init --remote --recursive --rebase)
|
|
rm -rf $TMPDIR
|
|
|
|
# node related
|
|
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
|
|
sudo apt-get install -y nodejs
|
|
|
|
# python3 related
|
|
sudo -HS bash -c "curl -RLfs https://bootstrap.pypa.io/get-pip.py | python2 && \
|
|
curl -RLfs https://bootstrap.pypa.io/get-pip.py | python3"
|
|
|
|
# Docker related
|
|
|
|
curl -fsSL https://download.docker.com/linux/$DISTRO/gpg | sudo apt-key add - && \
|
|
sudo add-apt-repository "deb https://download.docker.com/linux/$DISTRO $SUITE stable" && \
|
|
sudo apt-get install -y docker
|
|
|
|
# vim related
|
|
pip install --user neovim && \
|
|
npm install -g instant-markdown-d && \
|
|
nvim +PluginInstall +qall && \
|
|
(cd $HOME/.vim/bundle/YouCompleteMe && ./install.py --clang-completer --js-completer --system-libclang)
|