Basics

This guide has been set for Ubuntu 20.04 and Debian 10, if you have another distribution use it carefully.

Update apt and upgrade packages

sudo apt update ; sudo apt -y upgrade

Install useful packages

sudo apt install -y zip unzip curl git vim ssh lsb-release ca-certificates apt-transport-https software-properties-common

Install exFAT packages (to use exFAT disks, see wiki)

sudo apt install -y exfat-utils exfat-fuse

Install picture usage packages

sudo apt install -y jpegoptim optipng pngquant optipng gifsicle webp

Vim

Get basic configuration and copy it to user directory

sudo vim /etc/vim/vimrc
/etc/vim/vimrc
set nocompatible
set number
set background=dark
syntax on
set tabstop=4
set smartindent
set autoindent
set backspace=indent,eol,start
set ignorecase
set ruler
set showcmd
set mouse=a

ZSH & Oh my ZSH

ZSH is a powerful command interpreter, better than bash. If you use it, you can improve it with Oh my ZSH which is configuration for ZSH.

Install zsh

sudo apt install -y zsh

Install oh-my-zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
If you accept to use ZSH, you need to logout to enable it.
If your shell don't persist you can add this line to ~/.bashrc to enable it.
echo 'exec zsh' >> ~/.bashrc

Customize with theme

With Oh my ZSH, you can use themes to have beautiful terminal, check available themes here: github.com/ohmyzsh, I use pmcgee

To install a new theme, just edit .zshrc

vim ~/.zshrc

Search ZSH_THEME at the top of file and update value

~/.zshrc
-ZSH_THEME="robbyrussell"
+ZSH_THEME="pmcgee"

Update new configuration

source ~/.zshrc

Extras

eza a replacement for ‘ls’

sudo apt update
sudo apt install -y gpg

Install eza

sudo mkdir -p /etc/apt/keyrings
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list
sudo apt update
sudo apt install -y eza

Make alias in your PATH

vim ~/.zshrc
~/.zshrc
alias ls="eza"
alias ll="eza -al"
alias la="eza --long --all"
source ~/.zshrc

Now you can use eza with ls.