news for on-premise technologies
← Back to Blog

Terminal Setup Guide Installing Ghostty Tmux and Zsh

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 work creates a new session named work
  • Ctrl+B c creates a new window
  • Ctrl+B , renames the current window
  • Ctrl+B % splits vertically
  • Ctrl+B " splits horizontally
  • Ctrl+B d detaches from the session
  • tmux attach -t work reattaches 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