Skip to content

Instantly share code, notes, and snippets.

@ivan-loh
Last active October 12, 2020 04:40
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ivan-loh/aa7af76b3fc87da0c426f841b711d9f1 to your computer and use it in GitHub Desktop.
Save ivan-loh/aa7af76b3fc87da0c426f841b711d9f1 to your computer and use it in GitHub Desktop.
setup script for dev environment
#!/bin/sh
#
# util stuff
#
sudo apt install htop mosh
#
# docker
# ------
sudo apt remove docker docker-engine docker.io containerd runc
sudo apt update
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
#
# docker-compose
# ----------------
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
#
# emacs
# -------
# Compile From Source on Bionic Beaver
sudo apt install build-essential texinfo libx11-dev libxpm-dev libjpeg-dev libpng-dev libgif-dev libtiff-dev libgtk2.0-dev libncurses-dev libgnutls28-dev
wget http://ftp.gnu.org/gnu/emacs/emacs-27.1.tar.gz
tar xvzf emacs-27.1.tar.gz
cd emacs-27.1
./configure
make
sudo make install
cd ~/
sudo apt -y install git
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
#
# Syncthing - Stable
# --------------------
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
printf "Package: *\nPin: origin apt.syncthing.net\nPin-Priority: 990\n" | sudo tee /etc/apt/preferences.d/syncthing
sudo apt-get update
sudo apt-get install syncthing
echo "syncthing results a manual setup"
#
# nodejs
# --------
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install gcc g++ make nodejs
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
#
# mongotools
# ------------
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt install mongodb-org-shell mongodb-org-tools

install scripts for

  • docker ( current stable )
  • docker-compose ( 1.27.4 )
  • emacs ( 27.1 )
  • syncthing ( current stable )
  • node & yarn ( 14.x branch )
  • mongo-tools ( 4.4 )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment