background-shape
feature-image

My Ubuntu 22.04 Desktop setup

I am using Ubuntu 22.04 LTS Gnome edition, you can download it from the official Ubuntu website here

Table of contents

Update

Update the system

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Flatpak

Install flatpak

# install flarpak
sudo apt-get install flatpak
# flatpak plugin for software store
sudo apt-get install -y gnome-software-plugin-flatpak
# adding  flathub repository
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

See the documentation of the detail here

Homebrew

# requirments
sudo apt-get install build-essential curl file git
# installation
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# then set the path, the instruction will be given to you when you run the installation command and its complete

The official Linux installation instruction here

The official site is here

zsh_and_ohmyzsh

sudo apt-get install -y zsh curl git
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

ohmyzsh official site

zsh_auto_suggestions

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# set zsh-autosuggestions plugin in zsh
# open .zshrc file with nano
nano ~/.zshrc
# add zsh-autosuggestions in plugins
plugins=(git zsh-autosuggestions)
# press ^o enter then ^x to exit

# load the zsh file changes
source ~/.zshrc

For details information’s check the official repo here

Development-tools

go-lang

installing go-lang using snap, check it here

sudo snap install go --classic
# or using brew
brew install go

Hugo

installing hugo with snap check it here, I am using the extended edition for sass support

sudo snap install hugo --channel=extended/stable
# or using brew
brew install hugo 

For more information about Hugo check the official site here

python3

installing python 3

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-venv

Check the Digital Ocean tutorial for more information here

miniconda

Install mini conda for python development

  • download the miniconda .sh file form here or go to this page and download the script.
# add the exicution permission to the script
chmod +x Miniconda3-latest-Linux-x86_64.sh
# run the script and ans yes for the questions
./Miniconda3-latest-Linux-x86_64.sh

anaconda

# install the packages
sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6

Download the Anaconda installer from here

cd ~/Downloads
chmod +x Anaconda3* 
./Anaconda3 # and hit tab key
# answer yes for all the prompt
# set conda path in zsh
source ~/anaconda3/bin/activate
conda init zsh
conda deactivate
# if you want to turn off autometic activation of conda bash then turn it off
conda config --set auto_activate_base false

JupyterLab

JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data.

# insall with conda if conda is install
conda install -c conda-forge jupyterlab
# or install with pip
pip install jupyterlab
# run jupyter lab
jupyter-lab

Check the official doc here

JupyterNotebook

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

# insall with conda if conda is install
conda install -c conda-forge notebook
# or install with pip
pip install notebook
# run jupyter notebook
jupyter notebook

Check the official doc here

Java

Install open JDK and open JRE

# open JRE
sudo apt-get install -y default-jre
# open JDK
sudo apt-get install -y default-jdk

Check the Digital Ocean tutorial for more information here

nvm

Install node version manager

# install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
# set nvm plugin in zsh
# open .zshrc file wiht nano
nano ~/.zshrc
# add nvm in plugins
plugins=(git nvm)
# press ^o enter then ^x to exit

# load the zsh file changes
source ~/.zshrc

For more information check the official repository here

nodejs

Install node version 14 with nvm

nvm i 14

For more uses see the official doc here

yarn

Installing yarn with npm

npm i -g yarn

For more information see the official doc here

pnpm

Installing pnpm with npm

npm i -g pnpm

For more information see the official doc here

Lamp-stack

# install apache2
sudo apt-get install apache2
# allow apache with ufe firewall
sudo ufw allow in "Apache"
sudo ufw allow in "Apache Full"
# install mysql-server as a database
sudo apt-get install mysql-server
# add password to the database and press y (yes) for all the prompt
sudo mysql_secure_installation
# run mysql
sudo mysql
# exit from mysql
exit
# install php and php extensions
sudo apt-get install -y php libapache2-mod-php php-mysql
# additional php extensions if you want to use laravel
sudo apt-get install -y openssl php-common php-curl php-json php-mbstring php-mysql php-xml php-zip

For a details tutorial about LAMP stack check out the Digital Ocean tutorial here

Composer

Install composer for managing application-level packages in PHP

# install the additional dependencies
sudo apt-get install -y php-cli unzip
# move to home directory
cd ~
# download composer
curl -sS https://getcomposer.org/installer -o composer-setup.php
# verify it
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;"
# install composer globally
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
# test the composer
composer

For details information about installation check the Digital Ocean tutorial here

To know more about composer check the official doc here

Docker

Install docker using snap, check it here

sudo snap install docker

For more information about docker check the official site here

Run docker without sudo, reference here

Firacode

Free monospaced font with programming ligatures. Official Repository

# add repository
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
# update 
sudo apt-get update
# install fira code
sudo apt-get install -y fonts-firacode

For details, installation instruction check dev.to blog here

Application-software

Application NameApplication DescriptionInstall Command
Tweak ToolGraphical interface for advanced GNOME 3 settings. Official Site. Repositorysudo apt-get install gnome-tweak-tool
Dconf EditorViewer and editor of applications’ internal settings. Official Site. Repositorysudo apt-get install -y dconf-editor
StacerSystem Optimizer & Monitoring. Official Site. Repositorysudo apt-get install stacer
GIMPPhoto editor. Official Site. Flathubflatpak install flathub org.gimp.GIMP
VLC PlayerMedai Player. Official Site. Flathub. Repositoryflatpak install flathub org.videolan.VLC
Visual Studio CodeCode Editor. Official Site. Flathub. Repositoryflatpak install flathub com.visualstudio.code
Telegram DesktopMedai Player. Official Site. Flathub. Source Codeflatpak install flathub org.telegram.desktop
InkscapeVector graphics editor. Official Site. Flathub. Repositoryflatpak install flathub org.inkscape.Inkscape
Obs StudioLive streaming and screen recording. Official Site. Flathub. Repositoryflatpak install flathub com.obsproject.Studio
FlameshotScreenshot software. Flathub. Repositoryflatpak install flathub org.flameshot.Flameshot
qBittorrentVector graphics editor. Official Site. Flathub. Repositoryflatpak install flathub org.qbittorrent.qBittorrent
Android StudioOfficial integrated development environment. Official Site. Flathubflatpak install flathub com.google.AndroidStudio
DBeaver CommunitySQL client software. Official Site. Flathub. Repositoryflatpak install flathub io.dbeaver.DBeaverCommunity
PostmanPlatform for API Development. Official Site. Flathubflatpak install flathub com.getpostman.Postman
Draw.ioOnline diagramming website. Official Site. Flathub. Repositoryflatpak install flathub com.jgraph.drawio.desktop
Gravit DesignerVector graphic design app. Official Site. Flathubflatpak install flathub io.designer.GravitDesigner
EvinceDocument viewer. Official Site. Flathub. Repositoryflatpak install flathub org.gnome.Evince
OkularUniversal document viewer. Offical Site. Flathub. Repositoryflatpak install flathub org.kde.okular
PyCharm CommunityPython IDE. Official Site. Flathubflatpak install flathub com.jetbrains.PyCharm-Community
Beekeeper StudioSQL Editor and Database Manager. Official Site. Snap. Repositorysudo snap install beekeeper-studio
Xournal++Handwriting notetaking software. Official Site. Flathub. Repositoryflatpak install flathub com.github.xournalpp.xournalpp

Visual Studio Code

Code editor. Official Site

Free Download Manger (FDM)

Download manager. Official Site

Ulauncher

Application launcher. Official Site

Typora

Markdown editor. Official Site

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 typora

Themes

grub theme

shell extensions

Uninstall

I am not playing any games so, I uninstall all the pre-install games that come with Ubuntu and I also uninstall Transmission because I will install qBitTorrent.

sudo apt-get remove aisleriot gnome-mahjongg gnome-mines gnome-sudoku transmission transmission-common transmission-gtk
sudo apt-get autoremove

Uninstall Miniconda

rm -r ~/miniconda3/

For more information check this or that