Skip to content

Instantly share code, notes, and snippets.

@zscole
Created November 5, 2020 15:17
Show Gist options
  • Select an option

  • Save zscole/ebca0902ed17a39d7dae73a24256879a to your computer and use it in GitHub Desktop.

Select an option

Save zscole/ebca0902ed17a39d7dae73a24256879a to your computer and use it in GitHub Desktop.
Script to set up and configure Linux workstation after fresh PopOS install
#!/bin/bash
GIT_USER_NAME= #insert github username
USER_EMAIL= #insert email
apt-get update && upgrade -y
apt-get autoremove -y
apt-get install gdebi-core wget apt-transport-https ca-certificates apt-utils software-properties-common tar -y
apt-get install make cmake g++ g++-9 clang-format clang-tidy snapd vim -y
apt-get update
snap install go --classic
snap install google-cloud-sdk --classic
#Sublime
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
add-apt-repository "deb https://download.sublimetext.com/ apt/stable/"
apt update
apt install sublime-text
#Git
apt-get install git
git config --global user.name "$GIT_USER_NAME"
git config --global user.email "$USER_EMAIL"
#More specialized tools
wget -O- https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
echo "deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch main" >> /etc/apt/sources.list
apt-get update
apt-get install -y golint libpq-dev git-extras libgflags-dev libgtest-dev
apt-get install -y autoconf libtool pkg-config curl libgrpc-dev libtbb-dev libspdlog-dev
apt-get install -y cppcheck doxygen hplip
#Install Docker
apt-get install -y apt-transport-https gnupg-agent
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose
#Install Postgres
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list
apt-get update
apt-get install postgresql postgresql-contrib -y
#Install Pip3
apt-get install pip3
apt-get install build-essential libssl-dev libffi-dev python3-dev
#Install JS tools
curl -sS 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
apt-get update
apt-get install yarn nodejs npm -y
#Network tools
apt-get install iperf3 iftop nmap
#File system
apt-get install -y btrfs-progs libblockdev-btrfs-dev libbtrfs-dev libbtrfsutil1
apt-get install -y libfsntfs1 libntfs-3g883 ntfs-3g libfsntfs-utils
#Ethereum tools
add-apt-repository ppa:ethereum/ethereum -y
apt-get update
apt-get install ethereum solc -y
#Create new SSH key
ssh-keygen -t rsa -b 4096 -C "$USER_EMAIL"
#General tools
apt-get install tmux screen ack iotop vim sysstat htop vlc gnome-tweak-tool -y
#Productivity
snap install discord --classic
snap install telegram-desktop --classic
curl --remote-name https://prerelease.keybase.io/keybase_amd64.deb
apt install ./keybase_amd64.deb -y
# Clean up & restart
apt update
apt upgrade
apt autoremove
apt autoclean
reboot now
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment