Created
November 5, 2020 15:17
-
-
Save zscole/ebca0902ed17a39d7dae73a24256879a to your computer and use it in GitHub Desktop.
Script to set up and configure Linux workstation after fresh PopOS install
This file contains hidden or 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 | |
| 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