-
-
Save liuha/166eed3807adfdb9f67214866f746b8e to your computer and use it in GitHub Desktop.
Customization script for fresh install of Ubuntu 22.04
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
# 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 | |
# MySQL | |
sudo apt install mysql-server -y | |
sudo apt install libmysqlclient-dev default-libmysqlclient-dev -y | |
# Initialize HempfieldBaseball Project Env Vars | |
DATABASE_NAME="HempfieldBaseball" | |
DATABASE_PASSWORD="hempfield" | |
DATABASE_USER="hempfield_baseball_admin" | |
echo 'export DATABASE_HOST="localhost"' >> ~/.bashrc | |
echo "export DATABASE_NAME='${DATABASE_NAME}'" >> ~/.bashrc | |
echo "export DATABASE_PASSWORD='${DATABASE_PASSWORD}'" >> ~/.bashrc | |
echo "export DATABASE_USER='${DATABASE_USER}'" >> ~/.bashrc | |
echo 'export DATABASE_PORT="3306"' >> ~/.bashrc | |
echo 'export SECRET_KEY="+(s(6n1%0gw*%*21ai7n9n9!4#4^52#p^@-3pc90x68+og*fw8"' >> ~/.bashrc | |
echo 'export DEBUG_SETTING="1"' >> ~/.bashrc | |
echo 'export STATIC_ROOT="~/projects/tmp"' >> ~/.bashrc | |
source ~/.bashrc | |
# Create Database, Users, Assign Permissions | |
sudo mysql -e "CREATE DATABASE ${DATABASE_NAME};" | |
sudo mysql -e "CREATE USER ${DATABASE_USER}@localhost IDENTIFIED WITH mysql_native_password BY '${DATABASE_PASSWORD}';" | |
sudo mysql -e "GRANT ALL PRIVILEGES ON ${DATABASE_NAME}.* TO '${DATABASE_USER}'@'localhost';" | |
sudo mysql -e "FLUSH PRIVILEGES;" | |
# Replicate Project DB locally | |
# sudo ./replicate_db.sh | |
# 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 | |
# 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 [email protected]:dmanning21h/hempfieldbaseball.git && cd hempfieldbaseball | |
python3 -m venv env && source env/bin/activate | |
pip install -r requirements.txt | |
deactivate && cd | |
# Miniconda | |
cd ~/Downloads/ | |
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh | |
bash Miniconda3-latest-Linux-x86_64.sh | |
rm Miniconda3-latest-Linux-x86_64.sh && cd | |
source ~/.bashrc | |
# Jupyter Notebook and Pandas | |
conda activate base | |
conda install -c conda-forge notebook ipython-sql -y | |
conda update conda -y | |
conda config --set auto_activate_base false | |
conda deactivate | |
# 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 | |
# 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']" | |
# File Manager | |
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'org.gnome.Nautilus.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 | |
# 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