Per-system settings are depends on specific machine that i use, in this case Ubuntu
, Arch Linux
, MacOS
Basically i need Zsh
for shell, Git
for git obviously, Nvim
for light config edit, Emacs
as my main development IDE, LazyGit
as my Git client, Alacritty
for my Terminal client, GCP CLI
and AWS CLI
for sdk cloud, and Go
, NodeJS
, Python3
for my main language programming
Basic terminal setup for Ubuntu distro
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git nodejs python3 python3-pip neovim emacs zsh openssh curl wget coreutils -y
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- Remove old docker
sudo apt-get remove docker docker-engine docker.io containerd runc
- Setup repository
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
- Installing docker engine
sudo chmod a+r /etc/apt/keyrings/docker.gpg sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin