Buka terminal default macOS, ketik ls -la, lihat tembok teks abu-abu monoton — tanpa warna, tanpa icon, tanpa indikator git status. Ketik command typo, baru tahu salah setelah pencet Enter. Output ping 8.8.8.8 tampil mono-warna, susah scan latency yang spike. Kalau kamu admin jaringan atau developer yang seharian di terminal, setup default ini bikin produktifitas turun pelan-pelan tanpa kamu sadar. Panduan ini me-rebuild terminal macOS dari nol jadi hacker vibes yang beneran kepake — Ghostty + Powerlevel10k + warna per token + output ping/traceroute auto-colored. Total 30 menit, semua copy-paste, dan setelah selesai kamu nggak akan mau balik ke setup default.
✅ Terminal Ghostty (GPU-accelerated, ringan)
✅ Prompt Powerlevel10k segmented (git status, exit code, durasi command)
✅ Syntax highlighting real-time (command typo merah sebelum Enter)
✅ Ghost autosuggestion dari history (ketik 1-2 huruf, sisanya muncul abu-abu)
✅ Output ping/traceroute/df auto-colored (
grc)✅ Log viewer multi-color (
lnav)✅ Modern CLI:
ls→eza (icon+git), cat→bat (syntax), top→btop (animated graph)grc output coloringPrerequisite — Yang Harus Sudah Ada
Sebelum mulai, pastikan tiga hal ini sudah terpasang. Cek dengan command di bawah — kalau muncul versi-nya, aman lanjut. Kalau "command not found", install dulu sesuai catatan.
# 1. Homebrew (package manager macOS)
brew --version
# 2. Shell zsh (default macOS sejak Catalina)
echo $SHELL
# Output harus: /bin/zsh
# 3. Git
git --version
/bin/bash -c "\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Step 1 — Install Ghostty
Ghostty adalah terminal emulator native macOS buatan Mitchell Hashimoto (founder HashiCorp). GPU-accelerated, fast scrolling, config text-file (gak perlu klik-klik GUI), dan free. Drop-in replacement untuk Terminal.app default, iTerm2, atau Tabby (yang sudah deprecated di Homebrew sejak 2025).
brew install --cask ghostty
# Verifikasi:
ls /Applications/Ghostty.app
Step 2 — Config Ghostty (Theme + Hybrid Override)
Config Ghostty adalah file teks di ~/.config/ghostty/config. Bikin dulu kalau belum ada, lalu paste config di bawah. Setting ini sudah tweaked untuk hacker vibes optimal: bg hitam pekat, foreground hijau Homebrew classic, theme TokyoNight untuk warna accent saat syntax highlighting aktif.
mkdir -p ~/.config/ghostty
nano ~/.config/ghostty/config
code (VS Code), vim, open -a TextEdit.# ══════════════════════════════════════════
# cekipsaya.com — network intelligence tools
# gratis untuk Indonesia: cek IP, DNS, ping,
# traceroute, blacklist check & more.
# ══════════════════════════════════════════
# ══ FONT ══════════════════════════════════════
font-family = "FiraCode Nerd Font Mono"
font-size = 14
# ══ THEME ══════════════════════════════════════
# TokyoNight: bg navy, accent biru/cyan/ungu — multi-color
theme = TokyoNight
# ══ HYBRID OVERRIDE — bg hitam + fg hijau Homebrew ══
background = 000000
foreground = 28FE14
# ══ TRANSPARANSI ═══════════════════════════════
background-opacity = 1.0
# ══ PADDING ═══════════════════════════════════
window-padding-x = 16
window-padding-y = 12
window-padding-balance = true
# ══ CURSOR — Matrix green blink ════════════════
cursor-color = 00ff41
cursor-style = block
cursor-style-blink = true
# ══ KEYBINDS — split + clear + word/line nav ═══
keybind = cmd+d=new_split:right
keybind = cmd+shift+d=new_split:down
keybind = cmd+w=close_surface
keybind = cmd+k=clear_screen
keybind = alt+left=esc:b
keybind = alt+right=esc:f
keybind = alt+backspace=text:\x17
keybind = cmd+left=text:\x01
keybind = cmd+right=text:\x05
# ══ QUALITY OF LIFE ════════════════════════════
macos-option-as-alt = true
copy-on-select = clipboard
mouse-hide-while-typing = true
confirm-close-surface = false
shell-integration-features = cursor,sudo,title
scrollback-limit = 50000000
Ctrl+O → Enter → Ctrl+X.1. NO inline comment setelah
key = value — komentar akan ke-anggap bagian dari value (error: "invalid value").2. Nama theme exact match. Yang sering keliru:
TokyoNight (TANPA spasi), Gruvbox Dark Hard (DENGAN spasi), Matrix (BUKAN MatrixDark).3. Komentar HARUS di baris terpisah — sebelum atau sesudah, bukan inline.
Reload config di Ghostty: tekan ⌘ + ⇧ + , (Cmd+Shift+Koma), klik Reload Configuration. Kalau ada error, dialog akan muncul — paling sering inline comment problem (poin 1 di atas).
Step 3 — Powerlevel10k Prompt + Nerd Font
Powerlevel10k adalah prompt zsh segmented yang fast (instant prompt — tidak nge-block shell saat startup) dan informatif (git status, exit code, durasi command terakhir, virtualenv aktif, kubectl context, dll). Butuh Nerd Font untuk render icon-icon segmen-nya. Install dulu font-nya, lalu oh-my-zsh sebagai framework, baru Powerlevel10k.
brew install --cask font-fira-code-nerd-font
# Verifikasi:
ls ~/Library/Fonts/ | grep FiraCode
=>, !=, >= di-render jadi 1 glyph rapi.[ -d ~/.oh-my-zsh ] && echo "Already installed" || \
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
~/.oh-my-zsh/custom/themes/powerlevel10k
# Buka editor:
nano ~/.zshrc
# Di paling ATAS file, tambahkan (instant prompt):
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# Cari baris ZSH_THEME="..." — ganti jadi:
ZSH_THEME="powerlevel10k/powerlevel10k"
# Di paling BAWAH file, tambahkan:
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
Ctrl+O → Enter → Ctrl+X. Lalu buka tab Ghostty baru (⌘T) — wizard p10k akan otomatis jalan.Wizard akan tanya beberapa hal. Jawaban yang paling hacker-vibes:
| Pertanyaan Wizard | Jawaban Recommended |
|---|---|
| Does this look like a diamond (◆)? | y |
| Does this look like a lock (🔒)? | y |
| Does this look like Debian logo? | y |
| Prompt style | Rainbow (3) — paling hacker |
| Character set | Unicode |
| Color scheme | Dark |
| Show current time? | 24-hour |
| Prompt height | Two lines |
| Prompt spacing | Sparse |
| Icons | Many icons |
| Prompt flow | Concise |
| Enable transient prompt? | Yes |
| Apply changes? | y |
p10k configure kapan pun untuk customize ulang prompt. File config tersimpan di ~/.p10k.zsh.Step 4 — Syntax Highlighting + Ghost Autosuggestion
Dua plugin ini paling impactful untuk daily productivity. zsh-syntax-highlighting = command merah real-time saat ngetik (sebelum Enter) kalau invalid, hijau kalau valid, kuning underline untuk path file, dst. zsh-autosuggestions = ghost text abu-abu muncul dari history setelah ngetik 2-3 huruf, accept dengan tombol → atau Ctrl+Space.
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git \
~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions.git \
~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
# Buka ~/.zshrc, cari baris plugins=(...)
# Ganti jadi:
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
# ↑ urutan PENTING — syntax-highlighting harus terakhir
# Warna ghost text — abu-italic biar gak ganggu fokus
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#5a7a85,italic'
# Accept suggestion: → (right arrow) atau Ctrl+Space
bindkey '^ ' autosuggest-accept
Step 5 — Custom Color Palette (MobaXterm-style Variety)
Default zsh-syntax-highlighting cukup OK, tapi warna-nya terbatas. Custom palette ini override default dengan 16 token type (command, alias, path, string, comment, redirection, dll) masing-masing warna khas. Hasilnya mirip vibe MobaXterm di Windows: tiap kategori token kelihatan warnanya beda. Tambahkan blok ini di paling bawah ~/.zshrc.
# ── Custom syntax-highlighting palette (MobaXterm-style) ──
typeset -gA ZSH_HIGHLIGHT_STYLES
ZSH_HIGHLIGHT_STYLES[command]='fg=#00d4ff,bold' # cyan — perintah valid
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#00d4ff,bold' # cyan — builtin (cd, echo)
ZSH_HIGHLIGHT_STYLES[function]='fg=#00d4ff,bold' # cyan — function user
ZSH_HIGHLIGHT_STYLES[alias]='fg=#00ff41,bold' # matrix green — alias
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#ff5555,bold' # merah — perintah invalid
ZSH_HIGHLIGHT_STYLES[path]='fg=#ffc857,underline' # kuning — file/folder
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#ff79c6' # pink — glob (*, ?)
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#f1fa8c' # kuning soft — '...'
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#f1fa8c' # kuning soft — "..."
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#f1fa8c'
ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=#bd93f9' # ungu — $(...)
ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=#bd93f9' # ungu — <(...)
ZSH_HIGHLIGHT_STYLES[redirection]='fg=#ff79c6,bold' # pink — > >> < |
ZSH_HIGHLIGHT_STYLES[comment]='fg=#6272a4,italic' # abu-italic — # comment
ZSH_HIGHLIGHT_STYLES[assign]='fg=#50fa7b' # green soft — VAR=val
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#ff79c6,bold' # pink bold — if/then/for
'fg=#HEX,bold|italic|underline'.Step 6 — Output Coloring (grc + lnav)
Sampai sini command kamu sudah berwarna saat ngetik. Tapi output tools (ping, traceroute, df, ifconfig) masih mono-warna. Solusinya: grc (Generic Colourizer) — wraps tool output otomatis. Plus lnav untuk log file viewer multi-color.
brew install grc lnav
# grc — colorize tool output otomatis (ping/traceroute/df/dll)
if [[ -s "/opt/homebrew/etc/grc.zsh" ]]; then
source /opt/homebrew/etc/grc.zsh
fi
# lnav aliases
alias logview='lnav'
alias syslog='lnav /var/log/system.log'
source grc.zsh, command populer (ping, traceroute, df, ifconfig, netstat, ps, tail, gcc) otomatis ke-wrap grc tanpa perlu prefix. Ketik ping 8.8.8.8 aja — output langsung warna-warni.ping 8.8.8.8 — IP cyan, time hijau, packet loss merah kalau ada. Kalau output masih mono, cek path grc.zsh: di Apple Silicon biasanya /opt/homebrew/etc/grc.zsh, di Intel Mac /usr/local/etc/grc.zsh.Step 7 — Modern CLI Tools (eza, bat, btop)
Tools macOS default (BSD ls, cat, top) udah stabil tapi kuno. Replace dengan versi modern yang lebih informatif tanpa harus belajar command baru — alias-nya sama.
| Tool | Pengganti | Kelebihan |
|---|---|---|
eza |
ls |
Icon file type + git status indicator |
bat |
cat |
Syntax highlighting + line numbers |
btop |
top |
Animated CPU/RAM/disk graph |
fzf |
— | Fuzzy finder (Ctrl+R history search powerful) |
lazygit |
— | Git TUI ala Norton Commander |
brew install eza bat btop fzf lazygit
# ── Modern CLI aliases ────────────────────
if command -v eza >/dev/null 2>&1; then
# DROP --git dari default — lambat di folder besar (1000+ file)
alias ls='eza --icons'
alias ll='eza -l --icons --time-style=relative'
alias la='eza -la --icons --time-style=relative'
alias lt='eza --tree --icons --level=2 --git-ignore'
# Eksplisit kalau butuh git status (di repo aktif):
alias lg='eza -la --icons --git --time-style=relative'
fi
if command -v bat >/dev/null 2>&1; then
alias cat='bat --paging=never --style=plain'
alias catp='bat' # cat with paging
fi
if command -v btop >/dev/null 2>&1; then
alias top='btop'
fi
--git flag di eza query git status per file. Di folder besar (~/Downloads ribuan file), bisa hang 5-15 detik. Drop dari default, panggil eksplisit via lg kalau memang lagi di repo aktif.Apply & Test Akhir
Semua config sudah disimpan. Reload satu kali, lalu test:
# 1. Reload Ghostty config
# (di Ghostty, tekan: ⌘ + ⇧ + ,)
# 2. Reload zsh
source ~/.zshrc
# atau buka tab Ghostty baru (⌘T)
# 3. Test
ll # eza dengan icons
cat ~/.zshrc # bat syntax-highlighted
echo "==> != >=" # ligature: 3 simbol jadi 1 glyph
top # btop animated graph
# 4. Test colorization
ping 8.8.8.8 # IP cyan, time hijau
foobr 8.8.8.8 # 'foobr' merah real-time (typo)
syslog # lnav warna per severity
ls -la & # 'ls' cyan, '-la' kuning, '&' pink
Troubleshooting — Masalah Paling Sering
Ghostty TIDAK strip inline comment setelah key = value. Komentar ke-anggap bagian dari value. Fix: pindah komentar ke baris terpisah. Cek juga nama theme exact match — yang sering keliru: TokyoNight (TANPA spasi), Gruvbox Dark Hard (DENGAN spasi), Matrix (BUKAN MatrixDark).
Theme kamu mono-green by design (Homebrew, Matrix). Terminal apply green tint global ke SEMUA foreground text, masking warna RGB syntax-highlighting. Fix: ganti theme ke multi-color (TokyoNight, Dracula, Catppuccin Mocha) atau pakai pattern hybrid (theme multi-color + override foreground = 28FE14).
Alias ls = eza --icons --git bikin eza query git status per file. Di folder besar (~/Downloads 1000+), pasti lambat. Fix: drop --git dari default ls, panggil eksplisit via alias lg hanya kalau di dalam repo aktif. Quick bypass tanpa alias: \ls -la (backslash = pakai BSD ls asli).
Run manual: p10k configure. Wizard akan jalan dari awal. Pastikan oh-my-zsh terinstall (ls ~/.oh-my-zsh) dan ZSH_THEME di ~/.zshrc sudah "powerlevel10k/powerlevel10k".
Nerd Font belum keload. Cek: ls ~/Library/Fonts/ | grep -i FiraCode. Kalau kosong, install ulang: brew reinstall --cask font-fira-code-nerd-font, lalu reload Ghostty config (⌘+⇧+,). Pastikan font-family di config = "FiraCode Nerd Font Mono" (perhatikan spasi dan capitalization).
Cek urutan plugin di ~/.zshrc — wajib di posisi terakhir. Salah: plugins=(zsh-syntax-highlighting git autosuggestions). Benar: plugins=(git zsh-autosuggestions zsh-syntax-highlighting). Setelah ubah, source ~/.zshrc.
Pastikan baris source /opt/homebrew/etc/grc.zsh ada di ~/.zshrc. Cek: grep grc.zsh ~/.zshrc. Test manual: grc ping 8.8.8.8 — kalau warna jalan = grc OK, masalah cuma auto-wrap belum loaded. Reload shell.
Bonus — Tweak Lanjutan (Opsional)
Setup di atas sudah lengkap untuk daily workflow. Kalau mau lanjut explore, ini beberapa accessoris hacker yang fun (atau aesthetic):
| Tool | Fungsi | Install |
|---|---|---|
cmatrix |
Matrix rain animation | brew install cmatrix |
asciiquarium |
ASCII fish tank | brew install asciiquarium |
no-more-secrets |
Decrypt-style reveal text | brew install no-more-secrets |
figlet |
ASCII banner text | brew install figlet |
lolcat |
Rainbow output filter | brew install lolcat |
cmatrix -ab # Matrix rain bold + async
echo "ACCESS GRANTED" | nms # Decrypt reveal
asciiquarium # ASCII fish tank
figlet -f slant "Hacker" | lolcat # Rainbow ASCII banner
q untuk keluar dari cmatrix/asciiquarium.~/.zshrc. Catatan: itu menambah ~200ms latency tiap shell startup. Bagus dilihat hari pertama, mulai annoying setelah hari ke-5. Saran: pakai cmatrix dan asciiquarium on-demand saja (manual ketik saat butuh), bukan auto-load di rc file.Penutup — Setup Sekali, Dipakai Bertahun-tahun
Setup yang baru kamu pasang ini bukan show-off — ini upgrade readability dan speed permanen. Command typo terdeteksi sebelum Enter (hemat waktu). Output ping/traceroute warna-warni (scan latency spike lebih cepat). Ghost autosuggest dari history (gak perlu retype command panjang). Prompt segmented yang nampilin git status + exit code + durasi (debugging lebih kontekstual). Setiap kali kamu duduk depan terminal, ini kerja untukmu — selama bertahun-tahun ke depan.
Mau eksplorasi lanjut? Coba Network Intelligence Dashboard CekIPSaya — semua tools jaringan untuk diagnosa harian (ping, traceroute, MTR, DNS lookup, port checker, blacklist check) di satu halaman. Atau pelajari cheat sheet command networking untuk maksimalkan setup ini.
FAQ — Pertanyaan yang Sering Ditanyakan
Kesimpulan
Setup terminal hacker bukan soal show-off — ini soal readability + speed. Command merah saat typo (real-time, sebelum Enter), output ping/traceroute warna-warni per range, prompt segmented yang nampilin git status, durasi command terakhir, exit code, semuanya di tempatnya. Kalau panduan ini berhasil di komputer kamu, terminal-mu naik level 10x untuk diagnosa jaringan harian. Lanjut explore Network Intelligence Dashboard CekIPSaya untuk diagnosa jaringan, atau artikel teknis lainnya.