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


Get basic configuration and copy it to user directory

sudo vim /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
cp /usr/share/vim/vimrc ~/ ; mv ~/vimrc .vimrc
Edit ~/.vimrc and copy the config at the end of file to enable it.
vim ~/.vimrc

set paste

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"
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:, I use pmcgee

To install a new theme, just edit .zshrc

vim ~/.zshrc

Search ZSH_THEME at the top of file and update value


Update new configuration

source ~/.zshrc


exa a replacement for ‘ls’

sudo apt install -y exa

Install exa

sudo apt install exa -y

Make alias in your PATH

vim ~/.zshrc
alias ls="exa"
alias ll="exa --long --"
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
pip3 install thefuck --user
vim ~/.zshrc
export PATH=~/.local/bin:$PATH
eval "$(thefuck --alias)"
source ~/.zshrc