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

exa a replacement for ‘ls’

sudo apt install -y exa

Install exa

sudo apt install exa -y

Make alias in your PATH

vim ~/.zshrc
~/.zshrc
alias ls="exa"
alias ll="exa -al"
source ~/.zshrc

Now you can use exa with ls.

thefuck corrects your command

Magnificent app which corrects your previous console command.

sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
sudo apt install thefuck -y
vim ~/.zshrc
~/.zshrc
export PATH=~/.local/bin:$PATH
eval "$(thefuck --alias)"
source ~/.zshrc