The Omaterm Manual DHH

  • Move Welcome
    Open Welcome

    Welcome

    Omaterm is a headless Arch setup for quickly getting servers, agent environments, and dev boxes setup with all the basic developing tooling you'd want along with services like GitHub, Tailscale, and SSH.

    It's done in the same omakase style as Omarchy, and is designed to be as familiar as possible for someone already running Omarchy.

    Installation

    1. Download Arch ISO
    2. Boot from ISO and run archinstall.
    3. Reboot then run: curl -fsSL https://omaterm.org/install | bash

    Now you'll have a box ready for work!

    Services

    During the setup, you'll be asked whether you'd like to authenticate with GitHub and Tailscale. Doing so means the box will actually be useful for working on code, pushing it to production, and accessing the machine from anywhere in the world on your private network.

    AI Assistance

    Much of that work may well be happening with AI assistance. By default, Omaterm installs opencode and `claude

    Welcome 162 words
  • Move Navigation
    Open Navigation

    Navigation

    Tmux is launched automatically after setup when you connect (or you can launch it with the t alias after initial install). This is how you get the most out of multitasking on a remote Omaterm box, as you can't use client-side terminal features like Ghostty's splits, tabs, or new windows.

    All the navigation you'll do in tmux starts with the prefix key, which is set to the standard Ctrl + B. You can create new windows (which work like tabs) on Prefix C, new sessions (which work like new windows) on Prefix Shift+C.

    ...

    Navigation 96 words
  • Move Tools
    Open Tools

    Tools

    Neovim

    Neovim is configured with LazyVim and uses an terminal-derived color scheme, so your client terminal's look will the reflected on the Omaterm box, even when it changes live. You can start neovim with the n alias.

    (If you're connected to the box via TTY, like through Proxmox, you also have access to plain vim, which can be started with the v alias.)

    Mise

    Mise lets you install multiple versions of the same development environments. By default, you'll have access to Ruby and Node when the box is booted. But you can just run, say, mise use -g go, and you'll have access to the latest go.

    Docker

    Docker is setup to be sudoless and comes with both buildx and compose. There's a d alias to start it, so d ps will show you all the containers you currently have running.

    You can also run LazyDocker using the lzd alias. This gives you a full control-panel TUI for your Docker setup.

    Tools 166 words
  • Move Services
    Open Services

    Services

    GitHub

    GitHub integration is offered during installation, so you'll have access to the gh command to checkout private repositories for doing real work. And git itself is configured with name/email identification during signup, so you can make commits right away.

    Tailscale

    Tailscale is an excellent way to access your Omaterm box over the internet without exposing it directly to the internet. Their free offering for personal use is very generous. You'll be offered to connect your box to your Tailnet during initial setup.

    SSH

    Omaterm starts an SSH server on your box by default, but it'll just use the regular password authentication until you run omaterm-ssh-key, which will accept your public key as a paste, then the box is locked down to only accept SSH keys (and not regular passwords).

    Services 135 words
  • Move Shell
    Open Shell

    Shell

    Omaterm runs on bash, but comes with a host of helpful tools to make the most of it.

    fzf

    fzf gives you fuzzy finding of files via the ff alias. Go to any directory, type ff, and you'll be able to fuzzy find your way to any file in that tree, while seeing a preview of the files you're narrowing down on the right-hand side.

    You can use Ctrl + R to use fzf to fuzzy find through your command history.

    This tool is also used by Neovim when you type Space Space.

    Zoxide

    Zoxide is a replacement for cd. It remembers the directories you've been in, so you can more easily jump to them next time. Say you do cd ~/Work/basecamp once. Next time, you can just do cd basecamp (or even just cd base), and Zoxide will take you directly there.

    eza

    eza is a replacement for ls. It gives you directory listings with more information, color, and icons. By default, eza has been aliase

    Shell 267 words
  • Move AI
    Open AI

    AI

    OpenCode

    OpenCode is an AI agent harness, like Claude Code or Gemini CLI, that works with all the commercial and open-weight models. Best way to use it is via the c alias, which you invoke once you're inside the directory you want to work on with AI.

    Claude Code

    Claude Code is installed via the AUR and gives you native access to the Anthropic Claude models. It's bound in run-dangerously mode to the cx alias.

    Other harnesses

    You can install any of the other major AI CLIs using yay, like:

    • yay -S gemini-cli
    • yay -S openai-codex
    • yay -S github-copilot-cli
    AI 107 words
  • Move Hotkeys
    Open Hotkeys

    Hotkeys

    Tmux

    Start Tmux with t. Enter command mode with Ctrl + B (called the prefix).

    Hotkey Function
    Ctrl + B Prefix key (required before commands)
    Prefix D Detach from session
    Prefix : Open command prompt
    Prefix ? List all key bindings
    Alt + R Reload tmux config

    Windows

    Hotkey Function
    Prefix C New window (same directory)
    Prefix R Rename window
    Prefix & Kill window
    Hotkeys 566 words