Things to do after installing Ubuntu
Last updated
Jan 3, 2023
I’ve been setting up Ubuntu on my laptop and desktop for a while, and using several online resources to set everything up each time. This is my effort to consolidate all of those different resources into a single place which will hep me out in the long run.
# Install updates and reboot
1
2
3
4
5
6
7
8
9
| sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
sudo apt autoclean
sudo fwupdmgr get-devices
sudo fwupdmgr get-updates
sudo fwupdmgr update
sudo reboot now
|
# Switch to Vanilla Gnome
I like the default gnome experience. It’s perfect for me, fast, minimal, and functional.
1
| sudo apt install gnome-session
|
Log-out and activate the Gnome DE from the login screen.
# Install Apps
# Microsoft Edge
I use Edge mostly on Windows, as it performs quite well nowadays. All my extensions, bookmarks, and passwords are there, so I need to set it up here for syncing as well. Go to the Microsoft Edge
download page, and download the .deb
file. Install it using the following command, and start syncing.
1
| sudo apt install ./microsoft-edge*
|
# Flatpack support
Enable flatpack support by running:
1
2
| sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
Also, use Flatseal
to check or change the permissions of your flatpack apps:
1
| flatpak install flatseal
|
# Fish shell
1
2
3
4
5
| sudo apt install -y fish
chsh -s /usr/bin/fish
mkdir -p /home/$USER/.local/bin
set -Ua fish_user_paths /home/$USER/.local/bin
|
# Starship prompt
1
2
| curl -sS https://starship.rs/install.sh | sh
echo "starship init fish | source" >> ~/.config/fish/config.fish
|
# System Utilities
1
2
3
| sudo apt install -y gnome-tweaks gnome-shell-extensions
sudo apt install -y nautilus-admin
sudo apt install -y curl
|
# Communication
1
2
3
| sudo snap install discord
flatpak install -y zoom
sudo snap install slack
|
# Coding
1
2
3
4
5
6
7
8
9
10
11
12
13
| sudo apt install -y git git-lfs
git-lfs install
git config --global user.name "Aadam"
git config --global user.email "aadimator@gmail.com"
git config --global url."git@github.com:".insteadOf "https://github.com/"
sudo snap install code --classic
sudo apt install -y ttf-mscorefonts-installer
sudo snap install node --classic
curl https://sh.rustup.rs -sSf | sh
fish_add_path "$HOME/.cargo/bin"
|
# pgAdmin
1
2
3
4
| curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
sudo apt install pgadmin4
|
# Add ssh-key to GitHub
1
2
3
4
| ssh-keygen -t ed25519 -C "aadimator@gmail.com"
exec ssh-agent bash
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
|
# Docker
Check kvm
is supported or not:
1
2
3
| modprobe kvm
modprobe kvm_intel
lsmod | grep kvm
|
Uninstall any previous installations:
1
2
3
4
| sudo apt remove docker-desktop
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
|
Set up Docker’s package repository and install docker engine:
1
2
3
4
5
6
7
8
9
10
11
12
| sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \\ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
Create a docker group and add $USER
to it, so you don’t have to use sudo
every time:
1
2
3
4
5
6
7
8
| sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
|
Download and install Docker Desktop
:
1
2
3
4
5
6
7
8
9
| wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.15.0-amd64.deb
sudo apt-get update
sudo apt install ./docker-desktop-4.15.0-amd64.deb
systemctl --user start docker-desktop
docker compose version
docker --version
docker version
systemctl --user enable docker-desktop
|
1
2
| sudo apt install -y vlc mpv
sudo apt install -y libavcodec-extra libdvd-pkg; sudo dpkg-reconfigure libdvd-pkg
|
# Cloud
I use Mega.io
to store all my Zotero and Calibre files. We can install it using the following commands:
1
2
3
4
5
6
7
| wget https://mega.nz/linux/repo/xUbuntu_22.10/amd64/megasync-xUbuntu_22.10_amd64.deb
sudo apt install ./megasync-xUbuntu_22.10_amd64.deb
rm ./megasync-xUbuntu_22.10_amd64.deb
wget https://mega.nz/linux/repo/xUbuntu_22.10/amd64/nautilus-megasync-xUbuntu_22.10_amd64.deb
sudo apt install ./nautilus-megasync-xUbuntu_22.10_amd64.deb
rm ./nautilus-megasync-xUbuntu_22.10_amd64.deb
|
Login to the account and start syncing.
# Text
These are apps that I use to read and take notes.
Download the Obsidian .deb
package and install it manually. To make the templates work, make sure that node
is installed and then run the following command:
1
| flatpak install -y zotero
|
Zotero File Access
Also, make sure that All system files
access is granted to Zotero in the Flatseal
application. Otherwise you won’t be able to access \mnt
directory where the Zotero library is stored.