A modern terminal setup transforms how you work on the command line. Ghostty provides a fast GPU accelerated terminal. Tmux manages multiple sessions and windows. Zsh with Oh My Zsh gives you autocomplete and helpful plugins. Combined, they form a powerful environment.
Install Ghostty terminal
Ghostty is a modern terminal emulator built with Zig. It uses GPU rendering for smooth output and has sensible defaults out of the box.
Arch Linux:
pacman -S ghostty
Fedora:
dnf install ghostty
Ghostty reads configuration from ~/.config/ghostty/config. The defaults are good so you can start using it immediately. The terminal launches from your application menu or by running ghostty.
Install Zsh and make it the default shell
Zsh is a feature rich shell compatible with Bash syntax.
Arch:
pacman -S zsh
Fedora:
dnf install zsh
Set Zsh as your default shell.
chsh -s /bin/zsh
Log out and back in for the change to take effect. Verify with echo $SHELL.
Install Oh My Zsh
Oh My Zsh is a framework for managing Zsh configuration. Install it with curl.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
The installer creates ~/.zshrc with a default configuration. Open this file and set your theme.
ZSH_THEME="agnoster"
Enable plugins by editing the plugins line.
plugins=(git docker kubectl sudo)
Apply changes with source ~/.zshrc or open a new terminal.
Install and configure Tmux
Tmux is a terminal multiplexer. It lets you split windows, create tabs, and detach sessions that persist when you close the terminal.
Arch:
pacman -S tmux
Fedora:
dnf install tmux
Create ~/.tmux.conf with sensible defaults.
set -g mouse on
set -g history-limit 5000
bind r source-file ~/.tmux.conf
Mouse support lets you click panes and resize splits. The history limit keeps more scrollback. Binding prefix r reloads the config without restarting Tmux.
Tmux session management cheat sheet
These commands cover the essentials.
tmux new -s workcreates a new session named workCtrl+B ccreates a new windowCtrl+B ,renames the current windowCtrl+B %splits verticallyCtrl+B "splits horizontallyCtrl+B ddetaches from the sessiontmux attach -t workreattaches to the work session
Put it all together
Open Ghostty. Zsh loads automatically with your configured theme. Start a Tmux session. Split the window into an editor pane on the left and a terminal pane on the right. Detach when you leave. Reattach later and pick up exactly where you left off.
This combination gives you a persistent, productive terminal environment that survives reboots and remote connections.
References
- Ghostty Documentation: https://ghostty.org/docs
- Oh My Zsh: https://ohmyz.sh/
- Tmux GitHub: https://github.com/tmux/tmux
- Zsh Documentation: https://zsh.sourceforge.io/Doc/