#!/usr/bin/env bash
# Install SSH keys
# TODO: Generate/install automatically
read -p 'You should add your SSH keys. Press any key to continue...'
# Install dotfiles
# TODO: Setup automatically
read -p 'You should setup your dotfiles. Press any key to continue...'
# Install packages required to add custom repositories
sudo apt update
sudo apt -y install ca-certificates curl libssl-dev snap wget
# Add custom repositories
# Google Chrome
echo deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main | sudo tee /etc/apt/sources.list.d/google.list
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
# Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo deb [arch=amd64] https://download.docker.com/linux/ubuntu disco stable | sudo tee /etc/apt/sources.list.d/docker.list
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# PostgreSQL
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# Install new packages
sudo apt update
# Install dev environment packages
sudo apt -y install docker-ce docker-ce-cli
sudo apy -y install gdb
sudo apt -y install git-all
sudo apt -y install gradle
sudo apt -y install maven
sudo apt -y install putty
sudo apt -y install ssh
sudo apt -y install tigervnc-viewer
# Install dev packages
sudo apt -y install build-essential
sudo apt -y install default-jre openjdk-8-jre-headless
sudo apt -y install libffi-dev
sudo apt -y install perl
sudo apt -y install postgresql postgresql-contrib
sudo apt -y install python2.7-dev python-pip
sudo apt -y install python3-dev python3-pip
sudo apt -y install ruby
# Install communication packages
sudo snap install --classic discord
sudo snap install --classic slack
sudo snap install --classic skype
sudo apt -y install teams
sudo apt -y install zoom
# Install IDE/editor packages
sudo snap install --classic code
sudo apt -y install emacs
sudo snap install --classic intellij-idea-community
sudo snap install --classic notepad-plus-plus
sudo apt -y install nano gedit
# Install utility packages
sudo apt -y install libreoffice
sudo apt -y install keychain
sudo apt -y install tar
sudo apt -y install zip
# Install misc packages
sudo apt -y install qbittorrent
sudo snap install --classic spotify
# Don't require sudo for Docker
sudo groupadd docker
sudo usermod -aG docker $USER
# Run Docker on boot
sudo systemctl enable docker
sudo systemctl start docker
# Setup NVM and Node
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash
source ~/.bashrc
nvm install node
sudo apt install -y npm
sudo npm i -g yarn
# Update all other packages
sudo apt -y full-upgrade
# Remove any obsolete packages
sudo apt -y autoremove
echo 'Setup finished!'
Setting up a new Ubuntu machine
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.