Skip to content

Instantly share code, notes, and snippets.

@KarthickSudhakar
Last active April 27, 2023 10:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KarthickSudhakar/e15fe3f3fac8162cdbce21f1f8313c3d to your computer and use it in GitHub Desktop.
Save KarthickSudhakar/e15fe3f3fac8162cdbce21f1f8313c3d to your computer and use it in GitHub Desktop.
PoP!_OS Bootstrap Script
#!/usr/bin/env bash
# ____ ____ ____ _______ _____ _______ _____ _____
# | _ \ / __ \ / __ \__ __/ ____|__ __| __ \ /\ | __ \
# | |_) | | | | | | | | | | (___ | | | |__) | / \ | |__) |
# | _ <| | | | | | | | | \___ \ | | | _ / / /\ \ | ___/
# | |_) | |__| | |__| | | | ____) | | | | | \ \ / ____ \| |
# |____/ \____/ \____/ |_| |_____/ |_| |_| \_\/_/ \_\_|
# Trigger the script with root user or exit #
if [[ ${UID} -ne 0 ]]; then
echo -e "[EXIT] - Run the script as root user or with sudo privilege..."
exit
fi
# Script dir #
SCRIPT_DIR=$(pwd)
# Updating package index #
sudo apt update -y
# Enable flatpak #
# sudo apt install flatpak gnome-software-plugin-flatpak -y
# flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# System & Support tools #
sudo apt install -y htop screenfetch cowsay cmatrix hardinfo stacer gparted copyq git dconf-editor gnome-tweaks peek jq curl tree xclip gpg
# Terminal - Alacritty #
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
sudo apt install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
cd /tmp/
git clone https://github.com/alacritty/alacritty.git
cd alacritty/
cargo build --release && \
sudo tic -xe alacritty,alacritty-direct extra/alacritty.info && \
sudo cp target/release/alacritty /usr/local/bin && \
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg && \
sudo desktop-file-install extra/linux/Alacritty.desktop && \
sudo update-desktop-database && \
sudo mkdir -p /usr/local/share/man/man1 && \
gzip -c extra/alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null && \
gzip -c extra/alacritty-msg.man | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
sudo apt install tmux fish -y
# Programming - Vscode, vim, sublime text
# Vscode Editor #
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
# Sublime Text #
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt update
sudo apt install code sublime-text neovim -y
# Git tools #
sudo apt install sublime-merge -y
# Note taking - zim wiki #
sudo apt install zim -y
# Markdown - Joplin
#flatpak install flathub net.cozic.joplin_desktop
# Browser - Brave & Firefox(comes by default)
sudo apt install apt-transport-https
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg 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
# Screenshot - Flameshot & knsip & peek #
sudo apt install ksnip flameshot peek -y
# Editing #
sudo apt install gimp darktable -y
# Torrent - qbittorrent #
sudo apt install qbittorrent -y
# Firewall #
sudo apt install ufw gufw -y
sudo ufw enable
# Backup utilites #
sudo apt install timeshift rsync grsync -y
# KVM #
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
# Python setup #
sudo apt install python3-pip -y
python3 -m pip install virtualenv
# Fonts #
sudo apt install ttf-mscorefonts-installer -y
sudo apt install fonts-firacode fonts-hack fonts-dejavu fonts-dejavu-core fonts-dejavu-extra -y
# Vagrant #
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com jammy main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vagrant -y
# Docker #
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
# Virtualbox #
sudo wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
sudo wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
sudo sudo apt install software-properties-common
echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian jammy contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update & sudo apt install virtualbox-7.0 -y
wget https://download.virtualbox.org/virtualbox/7.0.0/Oracle_VM_VirtualBox_Extension_Pack-7.0.0.vbox-extpack
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment