Terminal-from-scratch
When your computer crashes (Windows, Linux, or macOS), you need to remember all the software installed to set them up again once you recover your OS.
This guide serves as a source of truth to encapsulate all the steps needed to set up a development environment from scratch.
Supported Operating Systems
| Symbol | OS |
|---|---|
| 🍎 | macOS |
| 🐧 | Linux (Debian/Ubuntu) |
| 🅰️ | Arch Linux |
| 🪟 | Windows |
Table of Contents
- Google Chrome
- Fonts
- VS Code
- Git
- Node.js and NPM
- Oh-My-Zsh
- Neovim
- ZSH Plugins
- Powerlevel10k
- Ranger
- Terminal Emulator
- GNOME Extensions
- Postman
- DBeaver
Installing Google Chrome
🍎 macOS
Using Homebrew:
brew install --cask google-chrome
Or download directly from google.com/chrome
🐧 Linux (Debian/Ubuntu)
sudo apt update && sudo apt upgrade -y
sudo apt install wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
If you have errors during installation:
sudo apt-get install -f
🅰️ Arch Linux
yay -S google-chrome
Or using paru:
paru -S google-chrome
🪟 Windows
Using Chocolatey:
choco install googlechrome
Using winget:
winget install Google.Chrome
Or download from google.com/chrome
Font Installation
Download MesloLGS NF (recommended for Powerlevel10k):
🍎 macOS
Double-click each .ttf file and click "Install Font", or:
brew tap homebrew/cask-fonts
brew install --cask font-meslo-lg-nerd-font
🐧 Linux (Debian/Ubuntu)
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
fc-cache -fv
🅰️ Arch Linux
yay -S ttf-meslo-nerd-font-powerlevel10k
Or manually:
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
fc-cache -fv
🪟 Windows
Download and double-click each .ttf file, then click "Install".
Or using Chocolatey:
choco install nerd-fonts-meslo
Installing VS Code
🍎 macOS
brew install --cask visual-studio-code
🐧 Linux (Debian/Ubuntu)
sudo apt update
sudo apt install wget apt-transport-https
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code
🅰️ Arch Linux
sudo pacman -S code
Or for the proprietary version:
yay -S visual-studio-code-bin
🪟 Windows
Using Chocolatey:
choco install vscode
Using winget:
winget install Microsoft.VisualStudioCode
Launch with:
code
Installing Git
🍎 macOS
Git comes pre-installed. To update or install:
brew install git
🐧 Linux (Debian/Ubuntu)
sudo apt install git-all
🅰️ Arch Linux
sudo pacman -S git
🪟 Windows
Using Chocolatey:
choco install git
Using winget:
winget install Git.Git
Verify Installation (All Platforms)
git --version
Configure Git (All Platforms)
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
Set Up SSH Key (All Platforms)
Generate SSH key:
ssh-keygen -t ed25519 -C "your.email@example.com"
Start the SSH agent:
macOS/Linux:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Windows (Git Bash or PowerShell):
Start-Service ssh-agent
ssh-add ~/.ssh/id_ed25519
Copy your public key:
cat ~/.ssh/id_ed25519.pub
Add the key to GitHub: Go to Account > Settings > SSH and GPG keys > New SSH Key
Installing Node.js and NPM
🍎 macOS
Using Homebrew:
brew install node
Using nvm (recommended):
brew install nvm
mkdir ~/.nvm
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"' >> ~/.zshrc
source ~/.zshrc
nvm install --lts
🐧 Linux (Debian/Ubuntu)
Using apt:
sudo apt update
sudo apt install nodejs npm
Using nvm (recommended):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
Using NodeSource (for specific version):
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install nodejs
🅰️ Arch Linux
sudo pacman -S nodejs npm
Using nvm:
yay -S nvm
echo 'source /usr/share/nvm/init-nvm.sh' >> ~/.zshrc
source ~/.zshrc
nvm install --lts
🪟 Windows
Using Chocolatey:
choco install nodejs-lts
Using winget:
winget install OpenJS.NodeJS.LTS
Using nvm-windows:
choco install nvm
nvm install lts
nvm use lts
Verify Installation (All Platforms)
node --version
npm --version
Installing Oh-My-Zsh
🍎 macOS
Zsh is the default shell. Install Oh-My-Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
🐧 Linux (Debian/Ubuntu)
sudo apt install zsh git curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
chsh -s $(which zsh)
Restart your terminal or log out and back in.
🅰️ Arch Linux
sudo pacman -S zsh git curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
chsh -s $(which zsh)
🪟 Windows
Install Git Bash or Windows Terminal with WSL, then:
Using WSL:
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
chsh -s $(which zsh)
Using Git Bash: Download Zsh from MSYS2 and configure Git Bash to use it.
Installing Neovim
🍎 macOS
brew install neovim
🐧 Linux (Debian/Ubuntu)
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
sudo apt install neovim
Install clipboard support:
sudo apt install xclip xsel
🅰️ Arch Linux
sudo pacman -S neovim xclip xsel
🪟 Windows
Using Chocolatey:
choco install neovim
Using winget:
winget install Neovim.Neovim
Install Dependencies (All Platforms)
Python interface:
pip3 install neovim
pip3 install --upgrade neovim
For 🐧 Linux / 🅰️ Arch:
# Ruby interface
sudo gem install neovim
For 🍎 macOS:
brew install ruby
gem install neovim
Check health:
nvim +checkhealth
Install vim-plug (All Platforms)
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force
For Vim usage reference: vimsheet.com
Check out my VIM Repository for my configuration.
Installing ZSH Plugins
zsh-autosuggestions
All Platforms (with Oh-My-Zsh):
Clone the repository:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Add to ~/.zshrc:
plugins=(... zsh-autosuggestions)
zsh-syntax-highlighting
All Platforms (with Oh-My-Zsh):
Clone the repository:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Add to ~/.zshrc:
plugins=(... zsh-syntax-highlighting)
Restart your terminal.
Installing Powerlevel10k
All Platforms (with Oh-My-Zsh):
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Set ZSH_THEME="powerlevel10k/powerlevel10k" in ~/.zshrc.
Restart your terminal and follow the configuration wizard.
Note: For full icon support, use the MesloLGS NF font.
Installing Ranger
🍎 macOS
brew install ranger
🐧 Linux (Debian/Ubuntu)
sudo apt install ranger
Or from source:
git clone https://github.com/ranger/ranger.git
cd ranger
sudo make install
🅰️ Arch Linux
sudo pacman -S ranger
🪟 Windows
Ranger is primarily for Unix systems. Use WSL for Windows.
Configuration (All Platforms)
ranger --copy-config=all
Config files are located at ~/.config/ranger/
Install Colorschemes
cd ~/.config/ranger
git clone https://github.com/ranger/colorschemes.git
Installing Terminal Emulator
🍎 macOS
iTerm2 (recommended):
brew install --cask iterm2
Alacritty:
brew install --cask alacritty
Kitty:
brew install --cask kitty
🐧 Linux (Debian/Ubuntu)
Terminator:
sudo apt install terminator
Alacritty:
sudo add-apt-repository ppa:aslatter/ppa
sudo apt update
sudo apt install alacritty
Kitty:
sudo apt install kitty
🅰️ Arch Linux
Alacritty:
sudo pacman -S alacritty
Kitty:
sudo pacman -S kitty
Terminator:
sudo pacman -S terminator
🪟 Windows
Windows Terminal (recommended):
winget install Microsoft.WindowsTerminal
Alacritty:
choco install alacritty
Installing GNOME Extensions (Linux)
🐧 Linux (Debian/Ubuntu)
sudo apt update && sudo apt upgrade
sudo apt install gnome-shell-extensions chrome-gnome-shell
🅰️ Arch Linux
sudo pacman -S gnome-shell-extensions
yay -S chrome-gnome-shell
Recommended Extensions
Browse more at extensions.gnome.org
Installing Postman
🍎 macOS
brew install --cask postman
🐧 Linux (Debian/Ubuntu)
sudo snap install postman
Or using Flatpak:
flatpak install flathub com.getpostman.Postman
🅰️ Arch Linux
yay -S postman-bin
🪟 Windows
Using Chocolatey:
choco install postman
Using winget:
winget install Postman.Postman
Installing DBeaver
🍎 macOS
brew install --cask dbeaver-community
🐧 Linux (Debian/Ubuntu)
wget -O - https://dbeaver.io/debs/dbeaver.gpg.key | sudo apt-key add -
echo "deb https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list
sudo apt update
sudo apt install dbeaver-ce
Or using Snap:
sudo snap install dbeaver-ce
🅰️ Arch Linux
sudo pacman -S dbeaver
🪟 Windows
Using Chocolatey:
choco install dbeaver
Using winget:
winget install dbeaver.dbeaver
Quick Reference - Package Managers
| OS | Package Manager | Install Command |
|---|---|---|
| 🍎 macOS | Homebrew | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
| 🐧 Debian/Ubuntu | apt | Pre-installed |
| 🅰️ Arch Linux | pacman/yay | sudo pacman -S yay or install from AUR |
| 🪟 Windows | Chocolatey | Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) |
| 🪟 Windows | winget | Pre-installed on Windows 11 / Available via Microsoft Store |
License
See LICENSE for details.

