Last active
January 26, 2018 22:33
-
-
Save sminez/2a0bce386ad106f33d2ebf9a003dce75 to your computer and use it in GitHub Desktop.
Bootstrap new environments
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 | |
# ---------- | |
# Bootstrap a new environment using my preferred packages | |
# curl -L curl -L https://gist.githubusercontent.com/sminez/2a0bce386ad106f33d2ebf9a003dce75/raw/044cbc55779f1013a111fc42cfb4b76fb638aed4/bootstrap.sh | |
echo "Bootstrapping the environment" | |
echo "Anything and everything that can be apt-get installed!" | |
sudo apt-get install -y software-properties-common | |
echo "NeoVim official PPA" | |
sudo add-apt-repository ppa:neovim-ppa/stable | |
echo "Peek screen recorder" | |
sudo add-apt-repository ppa:peek-developers/stable | |
echo "Cava music visualiser" | |
sudo add-apt-repository ppa:tehtotalpwnage/ppa | |
echo "Arc gtk themes" | |
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04/ /' >> /etc/apt/sources.list.d/arc-theme.list" | |
echo "Paper icon theme" | |
sudo add-apt-repository ppa:snwh/pulp | |
sudo apt-get update | |
echo "General packages to install..." | |
sudo apt-get install -y zsh silversearcher-ag curl rofi git npm python3-pip docker.io ranger neovim tree uuid i3blocks gnuplot vlc feh mpv jq pv audacity autoconf automake cava dconf-cli dconf-editor mopidy mpd ncmpcpp xclip cmake build-essential thunar sox nodejs htop scrot compton lxappearance rofi automake pkg-config libevent-dev libncurses5-dev julia arc-theme paper-icon-theme paper-gtk-theme paper-cursor-theme | |
echo "Installing Rust..." | |
curl https://sh.rustup.rs -sSf | sh | |
# ------------------------------------------------------------------------------------------------- | |
echo "Compiling and installing the latest tmux..." | |
rm -fr /tmp/tmux | |
git clone https://github.com/tmux/tmux.git /tmp/tmux | |
cd /tmp/tmux | |
sh autogen.sh | |
./configure && make | |
sudo make install | |
cd - | |
rm -fr /tmp/tmux | |
# ------------------------------------------------------------------------------------------------- | |
echo "Getting i3-gaps to work" | |
sudo apt-get install -y libxcb1-dev libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev libxcb-icccm4-dev libyajl-dev libstartup-notification0-dev libxcb-randr0-dev libev-dev libxcb-cursor-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev autoconf xutils-dev libtool | |
echo "Compiling and install libxcb-xrm-dev..." | |
cd /tmp | |
git clone https://github.com/Airblader/xcb-util-xrm | |
cd xcb-util-xrm | |
git submodule update --init | |
./autogen.sh --prefix=/usr | |
make | |
sudo make install | |
echo "Compiling and install i3-gaps itself..." | |
cd /tmp | |
git clone https://www.github.com/Airblader/i3 i3-gaps | |
cd i3-gaps | |
git checkout gaps && git pull | |
autoreconf --force --install | |
rm -rf build | |
mkdir build | |
cd build | |
../configure --prefix=/usr --sysconfdir=/etc | |
make | |
sudo make install | |
# ------------------------------------------------------------------------------------------------- | |
# echo "Fetch antigen for zsh plugins and put it in the right place" | |
# curl -L git.io/antigen > ~/.zsh/antigen.zsh | |
echo "Useful Python modules that I use often enough that I want them system wide..." | |
sudo python3 -m pip install --upgrade pip | |
sudo python3 -m pip install requests jedi ptpython awscli aws-mfa jupyter neovim flake8 pyflakes PyQt5 csvkit bokeh Flask ipython jupyter-console jupyter-qtconsole-colorschemes pytest numpy pandas matplotlib opencv-python openpyxl prompt-toolkit pygame qtconsole requests scipy scikit-learn seaborn tmuxp youtube-dl | |
echo "go tools and binaries via gimme..." | |
cd && mkdir -p bin | |
curl -sL -o ~/bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | |
chmod +x ~/bin/gimme | |
eval $(gimme 1.8) | |
go get github.com/pcarrier/gauth/ # gauth 2 factor auth tool | |
go get golang.org/x/tools/cmd/goimports | |
go get golang.org/x/tools/cmd/oracle | |
go get honnef.co/go/tools/cmd/gosimple | |
echo "fzf fuzzy search tool..." | |
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf | |
~/.fzf/install | |
# ------------------------------------------------------------------------------------------------- | |
echo "Pull in dotfiles to configure everything..." | |
cd "$HOME" | |
echo "Setting git config..." | |
cat > .gitconfig <<EOF | |
[user] | |
name = sminez | |
email = [email protected] | |
[push] | |
default = simple | |
[pull] | |
rebase = true | |
[core] | |
editor = vim | |
[diff] | |
tool = vimdiff | |
[difftool] | |
prompt = false | |
[alias] | |
dt = difftool | |
EOF | |
echo "Pull in my dotfiles and notes..." | |
git clone https://[email protected]/sminez/dots.git | |
git clone https://[email protected]/sminez/notes.git |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment