Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WTM IWD 2024 - Friendly shell environment setup
Search
Karn Wong
March 16, 2024
Technology
0
56
WTM IWD 2024 - Friendly shell environment setup
Karn Wong
March 16, 2024
Tweet
Share
More Decks by Karn Wong
See All by Karn Wong
FossAsia 2025 - Take Control of Your Own Data via Self-Hosting Through Open Source Software
kahnwong
0
56
Technologista 2024 - Rust for Data - What Works and What Doesn't
kahnwong
0
150
HashiCorp User Group Thailand Meetup - Self-hosting Kubernetes at Home with Terraform
kahnwong
0
93
HashiCorp User Hub Thailand #2 - Simplify Proxmox VM Management with Terraform
kahnwong
0
90
Python Developer Day Thailand 2024 - How to Bootstrap a Python Project
kahnwong
0
140
GitHub Universe After Party Thailand 2023 - Faster deployments with multi-stage build caching
kahnwong
0
62
Database Query Optimization
kahnwong
0
32
Grill the data 2022 - The unsung hero behind Bestimate: data platform
kahnwong
0
91
Intro to spatial data
kahnwong
0
43
Other Decks in Technology
See All in Technology
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
100
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
120
OPENLOGI Company Profile for engineer
hr01
1
33k
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
110
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
0
290
KubeCon + CloudNativeCon Japan 2025 に行ってきた! & containerd の新機能紹介
honahuku
0
120
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
170
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
290
Connect 100+を支える技術
kanyamaguc
0
150
rubygem開発で鍛える設計力
joker1007
2
270
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
300
Featured
See All Featured
Producing Creativity
orderedlist
PRO
346
40k
Music & Morning Musume
bryan
46
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
GitHub's CSS Performance
jonrohan
1031
460k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
It's Worth the Effort
3n
185
28k
Statistics for Hackers
jakevdp
799
220k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Building Adaptive Systems
keathley
43
2.6k
Transcript
Friendly shell environment setup Karn Wong Platform Engineer, Data Cafe
Thailand
A CLI nerd who loves a blinking cursor too much
Karn Wong Platform Engineer, Data Cafe Thailand https://karnwong.me
Current issues with default shell config 1. Lack of colors
2. Everything looks the same 3. Not obvious whether there is a typo or an executable doesn’t exist 4. Important information are not displayed
Bland colors, not anymore!
ls -> eza
ls -lah -> eza
cat -> bat
echo
Executable doesn’t exist
Chained command
grep
df -> duf
ps -> procs
grep -> rg
grep - for files -> fd
Markdown -> glow
git diff
And you can click in terminals!
vim -> nvchad
tmux -> zellij
Did I mention autocomplete?
Autocomplete - executables
Autocomplete - docker
Autocomplete - docker argument
Autocomplete - ssh
Autocomplete - scp
Quality of life features
Shell - autocomplete from history
Jump between directories -> zoxide
Command cheat sheet -> tldr
JSON -> fx
Important information should be displayed
Current folder
Last command’s runtime
Last command’s status
Current GCP account & project
Current AWS account & region
Current runtime version & venv
Git branch & status
Current kubernetes context & namespace
Active username & hostname (over SSH)
Words from users
Can I copy your setup?”
https://github.com/kahnwong/vm-init
None
Further actions 1. Define commonly used tools 2. Implement setup
script for teams