Skip to content

Instantly share code, notes, and snippets.

@benileo
Last active June 2, 2016 05:21
Show Gist options
  • Save benileo/8e11c540999f4874c81a to your computer and use it in GitHub Desktop.
Save benileo/8e11c540999f4874c81a to your computer and use it in GitHub Desktop.
Ubuntu Development Environment
#!/bin/bash
function run_as_root {
sudo -u root $@
}
function apt_install {
run_as_root apt-get install -y --no-install-recommends $@
}
function apt_update {
run_as_root apt-get update
}
function add_apt_repository {
run_as_root add-apt-repository $@
}
function dpkg_install {
run_as_root dpkg -i $@
}
function apt_key_adv {
run_as_root apt-key adv $@
}
function add_mongodb_sources {
debian_source="deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse"
echo $debian_source | run_as_root tee /etc/apt/sources.list.d/mongodb-org-3.0.list
}
function add_docker_sources {
debian_source="deb https://apt.dockerproject.org/repo ubuntu-xenial main"
echo $debian_source | run_as_root tee /etc/apt/sources.list.d/docker.list
}
# juju
add_apt_repository ppa:juju/stable
# mongo
apt_key_adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
add_mongodb_sources
# docker
apt_key_adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
add_docker_sources
# Run update
apt_update
# Install all core development tools
apt_install apt-transport-https ca-certificates
apt_install git-core build-essential libssl-dev libffi-dev
apt_install nmap nginx ruby ruby-dev npm lxc meld openssh-server tree
apt_install python3-pip python3-setuptools python3-dev python3.4-dev python3.5-dev python3-virtualenv #Python
apt_install openjdk-8-jdk #Java, JetBrains IDE's
apt_install libjpeg-dev #PIL
apt_install libappindicator1 #Chrome
apt_install android-tools-adb android-tools-fastboot #android
apt_install postgresql postgresql-contrib
apt_install juju-core juju-local
apt_install xfonts-75dpi #wktohtml
apt_install libltdl3-dev mariadb-server rabbitmq-server # boulder systemctl may be needed
apt_install mongodb-org
apt_install linux-image-extra-$(uname -r) # recommended for docker.
apt_install docker-engine
# docker setup
run_as_root groupadd docker
run_as_root usermod -aG docker ubuntu # where ubunut is the name of your user
# wktohtml
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
dpkg_install wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
# robomongo, vagrant, chrome, pycharm, phpstorm
# Random tools comment if necessary
# apt_install xchat awscli macchanger
# run_as_root pip3 install virtualenv
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment