First, update existing packages:
# Update apt and snap packages
sudo apt update && sudo apt upgrade -y
sudo snap refresh
# If Flatpaks installed, update them
flatpak update
apt
repossudo add-apt-repository universe
sudo apt update && sudo apt upgrade -y
sudo apt install -y \
wget curl git g++ clang clang-tools clang-format clang-tidy make cmake zip unzip \
tmux libfuse2 pkg-config libssl-dev vlc \
lua5.4 liblua5.4-dev neovim texlive-full chktex texstudio \
btop htop hwinfo info zsh scdoc fzf bat jq eza ripgrep zoxide xxd \
gnome-epub-thumbnailer gnome-tweaks gnome-shell-extension-manager \
nmap ddcutil dmidecode piper
A PPA (Personal Package Archive) is a repository hosted on Launchpad (Ubuntu’s platform) where developers or contributors can publish software packages. They are used for getting newer versions of software or software not in official Ubuntu repos.
My PPA list:
# Add PPA repositories of those packages
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo add-apt-repository ppa:o2sh/onefetch
sudo add-apt-repository ppa:font-manager/staging
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
# Update system's repositories and install those packages
sudo apt update
sudo apt install -y fastfetch onefetch font-manager grub-customizer
sudo snap install pdftk
I prefer Flatpaks over Snaps wherever possible
First install flatpak and set up flathub repository:
sudo apt install flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub
Then install all the flatpak apps:
flatpak install --assumeyes \
org.libreoffice.LibreOffice \
com.jgraph.drawio.desktop \
com.obsproject.Studio \
com.github.johnfactotum.Foliate \
md.obsidian.Obsidian \
com.usebruno.Bruno \
com.discordapp.Discord