Skip to content

Instantly share code, notes, and snippets.

@dmanning21h
Last active May 16, 2024 22:58
Show Gist options
  • Save dmanning21h/1746e6a3cae184f2578007186a0da1cf to your computer and use it in GitHub Desktop.
Save dmanning21h/1746e6a3cae184f2578007186a0da1cf to your computer and use it in GitHub Desktop.
Customization script for fresh install of Ubuntu 20.04
# Update System
sudo apt update && sudo apt upgrade -y
# Curl
sudo apt-get install wget gpg
sudo apt install apt-transport-https curl
# Clear Favorites
gsettings set org.gnome.shell favorite-apps "['']"
# GCC
sudo apt install gcc -y
# Java
sudo apt install default-jre default-jdk -y
# Additional Python Packages
sudo apt install python3-dev python3-pip python3-setuptools python3-venv python3-testresources libpq-dev build-essential -y
# Global Python packages
pip install flake8 black virtualenv virtualenvwrapper
# virtualenvwrapper Config
echo 'export WORKON_HOME=~/.virtualenvs' >> ~/.bashrc
echo 'export PROJECT_HOME=~/Projects' >> ~/.bashrc
echo 'export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3' >> ~/.bashrc
echo 'export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv' >> ~/.bashrc
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc
# Node.js and npm
sudo apt install nodejs npm -y
# Sass
sudo npm install -g sass
# Git
sudo apt install git -y
# Git Setup
printf "git username: "
read GIT_USERNAME
printf "git email: "
read GIT_EMAIL
git config --global user.name ${GIT_USERNAME}
git config --global user.email ${GIT_EMAIL}
# SSH Setup
ssh-keygen -t rsa -b 4096 -C ${GIT_EMAIL}
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
sudo apt-get install xclip -y
xclip -sel clip < ~/.ssh/id_rsa.pub
printf "SSH Key copied to clipboard. (Press Enter to continue)\n"
read input
# Git Clone Projects
cd && mkdir Projects && cd Projects
git clone git@github.com:dmanning21h/hempfieldbaseball.git && cd hempfieldbaseball
mkvirtualenv hempfieldbaseball
pip install -r requirements.txt
deactivate && cd
# Brave Web Browser
curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add -
echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser -y
# Add to Favorites
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'brave-browser.desktop']"
# Add Terminal to Favorites
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'org.gnome.Terminal.desktop']"
# VS Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt update
sudo apt install code -y
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'code.desktop']"
# Install Extensions
# TBD
# Docker
cd ~/Downloads
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo groupadd docker && sudo usermod -aG docker $USER
sudo apt install docker-compose -y
rm get-docker.sh && cd
# .NET SDK
# cd ~/Downloads
# wget https://dot.net/v1/dotnet-install.sh
# sudo chmod +x ./dotnet-install.sh
# ./dotnet-install.sh
# rm dotnet-install.sh && cd
# Anki
cd ~/Downloads
sudo apt install mpv -y
wget https://github.com/ankitects/anki/releases/download/2.1.49/anki-2.1.49-linux.tar.bz2
tar xf anki-2.1.49-linux.tar.bz2 && rm anki-2.1.49-linux.tar.bz2 && cd anki-2.1.49-linux/
sudo ./install.sh && cd .. && rm -rf anki-2.1.49-linux && cd
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'anki.desktop']"
# Gnome Tweaks
sudo apt install gnome-tweaks -y
# Zoom
cd ~/Downloads/
wget https://zoom.us/client/latest/zoom_amd64.deb
sudo apt install ./zoom_amd64.deb -y
rm zoom_amd64.deb && cd
# Install Additional Language Support
# TBD
# Lollypop
sudo apt install lollypop -y
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'org.gnome.Lollypop.desktop']"
# Picard
sudo apt install picard -y
# Youtube-to-MP3
sudo add-apt-repository https://www.mediahuman.com/packages/ubuntu
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys 7D19F1F3
sudo apt-get update
sudo apt install youtube-to-mp3 -y
# File Manager
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'org.gnome.Nautilus.desktop']"
# Background
gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/brad-huchteman-stone-mountain.jpg
# Clean Up
sudo snap remove --purge firefox
sudo apt autoclean && sudo apt autoremove -y
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment