My Ubuntu 22.04 Desktop Setup

I am using Ubuntu 22.04 LTS Gnome edition, which I clean-installed on May 2, 2022, on a ThinkPad X1 Carbon with 16GB RAM. This configuration guides you through setting up a complete development environment on this specific release. You can download the ISO from the official Ubuntu website.
Table of Contents
- Update System.
- Flatpak Installation.
- Homebrew Installation.
- Installing Zsh and Oh My Zsh.
- Installing auto suggestions for Zsh.
- Development Tools.
- Application Software.
- Themes.
- Grub Theme.
- Shell Extensions.
- Uninstall.
Update
Update the system packaging lists and packages to their latest versions.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgradeFlatpak
Install Flatpak for package management.
sudo apt-get install flatpak
sudo apt-get install -y gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoSee the official documentation for more details.
Homebrew
Install the Homebrew package manager for Linux.
sudo apt-get install build-essential curl file git
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Follow the post-installation instructions displayed in your terminal to configure the environment path.
Zsh and Oh My Zsh
Install Zsh and configure Oh My Zsh.
sudo apt-get install -y zsh curl git
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Zsh Auto Suggestions
Set up automatic command suggestions for the shell.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
nano ~/.zshrcAdd the plugin to your configurations: plugins=(git zsh-autosuggestions).
source ~/.zshrcFor more detailed information, check the repository.
Development Tools

Go
Install Go using Snap or Homebrew.
sudo snap install go --classic
brew install goHugo
Install Hugo using Snap or Homebrew.
sudo snap install hugo --channel=extended/stable
brew install hugoPython 3
Install Python 3 and essential development tools.
sudo apt-get install -y python3-pip
sudo apt-get install -y build-essential libssl-dev libffi-dev python3-dev
sudo apt-get install -y python3-venvMiniconda
Install Miniconda for Python package management.
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.shAnaconda
Install Anaconda for scientific Python development.
sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6Download the installer, run it, and initialize the configuration.
cd ~/Downloads
chmod +x Anaconda3*
./Anaconda3
source ~/anaconda3/bin/activate
conda init zsh
conda deactivate
conda config --set auto_activate_base falseJupyterLab
Install JupyterLab for notebook development.
conda install -c conda-forge jupyterlab
pip install jupyterlab
jupyter-labJupyter Notebook
Install the classic Jupyter Notebook interface.
conda install -c conda-forge notebook
pip install notebook
jupyter notebookJava
Install the OpenJDK and OpenJRE packages.
sudo apt-get install -y default-jre
sudo apt-get install -y default-jdkNode Version Manager (NVM)
Install NVM to manage different Node.js versions.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nano ~/.zshrcAdd nvm to the plugins list in your .zshrc: plugins=(git nvm).
source ~/.zshrcNode.js
Install Node.js version 14 using NVM.
nvm i 14Yarn
Install the Yarn package manager globally.
npm i -g yarnpnpm
Install the pnpm package manager globally.
npm i -g pnpmLAMP Stack
Install Apache, MySQL, and PHP.
sudo apt-get install apache2
sudo ufw allow in "Apache"
sudo ufw allow in "Apache Full"
sudo apt-get install mysql-server
sudo mysql_secure_installation
sudo mysql
exit
sudo apt-get install -y php libapache2-mod-php php-mysql
sudo apt-get install -y openssl php-common php-curl php-json php-mbstring php-mysql php-xml php-zipComposer
Install Composer for managing PHP dependencies.
sudo apt-get install -y php-cli unzip
cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.phpVerify and complete the global installation.
HASH=`curl -sS https://composer.github.io/installer.sig`
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composerDocker
Install Docker on the system.
sudo snap install dockerFira Code
Install the Fira Code monospaced font.
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install -y fonts-firacodeApplication Software
Here is a list of recommended utilities and software for Ubuntu.
System Administration Utilities
| Application Name | Application Description | Install Command |
|---|---|---|
| Tweak Tool | Graphical interface for advanced GNOME 3 settings. | sudo apt-get install gnome-tweak-tool |
| Dconf Editor | Viewer and editor of applications' internal settings. | sudo apt-get install -y dconf-editor |
| Stacer | System Optimizer & Monitoring. | sudo apt-get install stacer |
| Evince | Document viewer. | flatpak install flathub org.gnome.Evince |
| Okular | Universal document viewer. | flatpak install flathub org.kde.okular |
Design and Media Tools
| Application Name | Application Description | Install Command |
|---|---|---|
| GIMP | Photo editor. | flatpak install flathub org.gimp.GIMP |
| VLC Player | Media Player. | flatpak install flathub org.videolan.VLC |
| Inkscape | Vector graphics editor. | flatpak install flathub org.inkscape.Inkscape |
| Obs Studio | Live streaming and screen recording. | flatpak install flathub com.obsproject.Studio |
| Flameshot | Screenshot software. | flatpak install flathub org.flameshot.Flameshot |
| Gravit Designer | Vector graphic design app. | flatpak install flathub io.designer.GravitDesigner |
| Xournal++ | Handwriting notetaking software. | flatpak install flathub com.github.xournalpp.xournalpp |
Development Applications
| Application Name | Application Description | Install Command |
|---|---|---|
| Visual Studio Code | Code Editor. | flatpak install flathub com.visualstudio.code |
| Telegram Desktop | Messaging Client. | flatpak install flathub org.telegram.desktop |
| qBittorrent | Torrent Client. | flatpak install flathub org.qbittorrent.qBittorrent |
| Android Studio | Official integrated development environment. | flatpak install flathub com.google.AndroidStudio |
| DBeaver Community | SQL client software. | flatpak install flathub io.dbeaver.DBeaverCommunity |
| Postman | Platform for API Development. | flatpak install flathub com.getpostman.Postman |
| Draw.io | Online diagramming website. | flatpak install flathub com.jgraph.drawio.desktop |
| PyCharm Community | Python IDE. | flatpak install flathub com.jetbrains.PyCharm-Community |
| Beekeeper Studio | SQL Editor and Database Manager. | sudo snap install beekeeper-studio |
Visual Studio Code
A lightweight, powerful code editor.
Free Download Manager (FDM)
A modern, fast download utility.
Ulauncher
An application launcher for GNOME.
Typora
A minimal markdown reader and writer.
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
sudo apt-get install typoraThemes
Explore GTK and icon themes to personalize the desktop environment.
- https://www.gnome-look.org/p/1403328/.
- https://www.pling.com/p/1405756/.
- https://www.gnome-look.org/p/1411743/.
Grub Theme
Personalize the boot manager screen.
Shell Extensions
Add plugins to customize GNOME shell behavior.
Uninstall
Remove pre-installed applications and games to free up space.
sudo apt-get remove aisleriot gnome-mahjongg gnome-mines gnome-sudoku transmission transmission-common transmission-gtk
sudo apt-get autoremoveUninstall Miniconda
Remove files and configurations related to Miniconda.
rm -r ~/miniconda3/