⚠️ Pre-requisites
Package Manager
Daily Apps
- Floorp, a Firefox-based browser, Install Bypass Paywalls
- Arc - Chrome-based browser with great UX
- Google Drive Client - Cloud storage
- Obsidian - Note taking App
- Notion - Note taking app
- Anytype - Notion but local
- Telegram Desktop - Messaging app
- StrongBox - Password Manager
- Gifski - GIF convertor
- Tutanota- Private email
- List of Wonderful Apps Waiting to Be Explored!
Terminal & Shell Setup
- Install FiraCode Nerd Font - Terminal Font (Download Fira Code and Fira Mono from the release page, then drag and drop them into Font Book)
- ZSH - Shell
- iterm2 - Terminal
- Termius - Terminal
- ohmyzsh - Shell Enhancement
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
- interactive command cheatsheet,man
replacement
brew install navi # Installation
echo "# === navi configuration by Xinyang ===" >> ~/.zshrc
# To have the ability to override default parameter values
echo 'navi="navi --fzf-overrides-var '\''--no-select-1'\''"' >> ~/.zshrc
# Shell integration, so can we use Ctrl-G to run the program
echo -e 'eval "$(navi widget zsh)" \n' >> ~/.zshrc
# Add my cheatsheets, re-run this command for updates!
navi repo add https://github.com/xy-241/cli-cheat
navi fn welcome # Config Page
-
brew install tealdeer
-man
replacement -
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 -
brew install pueue
&pueued -d
to start - cli process manager -
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
- Python Toolset
-
brew install ipython
- JS Toolset
- Rust Toolset
- Go
-
npm i -g typescript
-
brew install elixir
- Java JDK
Software Engineering Tools
- Neovim
- Code Editor Setup
- GitKraken - Git GUI Tool
- Postman - API Testing Tool
- MySQL Workbench
- jq
-
brew install hyperfine
- A command-line benchmarking tool -
brew install --cask dbeaver-community
- Open-source DB viewer -
brew install gh
,gh auth login
for painless Github CLi Auth - Git Add-ons
-
brew install lnav
- Logfile Navigator
Virtualisation Tools
Cloud Computing
-
brew tap hashicorp/tap & brew install hashicorp/tap/terraform
-
brew install azure-cli
-
brew install infracost
-
brew install terraform-docs
- Obtain a ssh shell into ECS on local machine
- Update parameters in AWS Parameter Store in a semi automated way
- AWS Nuke
-
aws
#!/bin/bash
brew install awscli
echo >> ~/.zshrc
echo "# === AWS Cli configuration by Xinyang" >> ~/.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
Networking
- cloudflared
- q -
dig
replacement - Ngrok
- File Sharing
-
brew install telnet
-
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}'`
Some other useful tools
Hardware Tools
- GPU & Accelerator process monitoring
- Perf monitoring CLI tool for Apple Silicon
- rpi-imager
- arduino ide
-
brew install --cask logisim-evolution
- circuit design software
OS Config
- Add Geist Font, drag and drop the installed font to built-in app
Font Book
- Add Chinese Input
- Change Hostname
#!/bin/bash
sudo scutil --set HostName mac
sudo scutil --set LocalHostName mac
Cheatsheet
- Command used to give unverified app permissions to execute -
xattr -r -d com.apple.quarantine/Applications/<APP_NAME>.app
- Terminal Cli Navigation Shortcut
- Remove an app from system entirely