⚠️ Pre-requisites

Package Manager

Daily Apps

Terminal & Shell Setup

Terminal Productivity Tools

Display of Icons

Make sure you install one of the Nerd Fonts to have icons display correctly inside your terminal. It is strongly recommended to complete Terminal & Shell Setup first!

  • eza - ls replacement
  • xcp - cp replacement
  • zoxide - cd replacement
  • bat - cat replacement
  • Atuin - history replacement
  • joshuto - Terminal File Manager
  • dua - Disk Usage Analyser
  • brew install btop - htop/top replacement
  • brew install xh - partial curl replacement
  • navi - man replacement
brew install navi # Installation 
# Add alias navi="navi --fzf-overrides-var '--no-select-1'" into .zshrc
echo "alias navi='bat'" >>~/.zshrc
# Add eval "$(navi widget zsh)" into .zshrc
navi fn welcome # Config Page
# Ctrl-G to run the program
# Add my cheatsheets, remember to run this command regularly for updates!
navi repo add https://github.com/xy-241/cli-cheat
  • fzf - grep replacement
brew install fzf # Installation 
cat <file_name> | fzf -m # multi-line select
# Fuzzy search files with file preview
brew install chafa # To have image rendered in terminal
fzf --preview '<path_to_preview.sh> {}' # Refer to https://github.com/junegunn/fzf?tab=readme-ov-file#previewing-an-image for more information
  • procs - ps replacement
  • fastfetch
brew install fastfetch
# Add the following to the start of .zshrc
fastfetch --logo <ABSOLUTE_PATH_TO_LOGO_FILE> --logo-width 70 --logo-height 30 --logo-type iterm
  • stow - dotfile manager
brew install stow
  • asciinema & agg - terminal recording & convert .cast to gif
# asciinema Installation 
brew install asciinema 
asciinema rec demo.cast # Record
asciinema play demo.cast # Play a recorded session
# agg Installation
cargo install --git https://github.com/asciinema/agg 
# Convert .cast to gif, --font-family should be the same font as the terminal font
agg --font-family "FiraMono Nerd Font" demo.cast a.gif
  • brew install watch
  • Custom bash commands (to be added to .zshrc)
# cht.sh shortcut
h() {
	curl cht.sh/$1

Programming Language Setup

Software Engineering Tools

Virtualisation Tools

Cloud Computing

brew install awscli
echo >> ~/.zshrc
echo "# AWS Cli Env Variables" >> ~/.zshrc
echo "export AWS_PROFILE=<DEFAULT_PROFILE_NAME>" >> ~/.zshrc
echo "export AWS_REGION=ap-southeast-1" >> ~/.zshrc
echo >> ~/.zshrc
aws configure # Auth CLi
  • pipx install checkov
  • pipx install ddtrace


  • Cloudflare CLi
  • cloudflared
  • q - dig replacement
  • Ngrok
  • File Sharing
  • Bandwhich
  • brew install telnet
  • brew install socat
  • basher install rauchg/wifi-password - get the password for the WiFi you’re currently logged onto, make the following changes to the installed bash script at $HOME/.basher/cellar/bin/wifi-password.sh$
# Comment out the below
ssid="`$airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'`"
# Add in the following
ssid=`networksetup -getairportnetwork en0 | awk -F": " '{print $2}'`

Hardware Tools

OS Config

sudo scutil --set HostName mac
sudo scutil --set LocalHostName mac