Install TriadπŸ”—

Triad lives inside River. River handles the pixels; Triad handles the windows.

Get River FirstπŸ”—

Triad doesn't install River for you. Get River 0.4 or newer. River owns the GPU and the session. If River doesn't work, Triad won't either.

DependenciesπŸ”—

Install what you need for your distribution.

Void Linux

sudo xbps-install -S git zig pkg-config wayland-devel wayland-protocols \
  wlroots-devel libxkbcommon-devel libevdev-devel pixman-devel scdoc

Arch Linux

sudo pacman -S git zig pkgconf wayland wayland-protocols wlroots \
  libxkbcommon libevdev pixman scdoc

Debian / Ubuntu

sudo apt install git zig pkg-config libwayland-dev wayland-protocols \
  libwlroots-dev libxkbcommon-dev libevdev-dev libpixman-1-dev scdoc

Fedora

sudo dnf install git zig pkgconf wayland-devel wayland-protocols-devel \
  wlroots-devel libxkbcommon-devel libevdev-devel pixman-devel scdoc

Build RiverπŸ”—

Build it for speed.

git clone https://codeberg.org/river/river.git
cd river
zig build -Doptimize=ReleaseSafe -Dcpu=baseline -Dstrip -Dpie \
  -Dxwayland --prefix "$HOME/.local" install

Get Nim and TriadπŸ”—

Triad is written in Nim. You need Nim 2.2.4 or newer.

DependenciesπŸ”—

Void Linux

sudo xbps-install -S nim nimble pkg-config wayland-devel libxkbcommon-devel pixman-devel

Arch Linux

sudo pacman -S nim nimble pkgconf wayland libxkbcommon pixman

Debian / Ubuntu

sudo apt install nim nimble pkg-config libwayland-dev libxkbcommon-dev libpixman-1-dev

Fedora

sudo dnf install nim nimble pkgconf wayland-devel libxkbcommon-devel pixman-devel

If your Nim is old, use choosenim:

curl https://nim-lang.org/choosenim/init.sh -sSf | sh
choosenim 2.2.4

Build TriadπŸ”—

git clone https://github.com/greenm01/triad.git
cd triad
nimble installSession

Test Before You LeapπŸ”—

Don't log out yet. Test Triad from your current desktop.

WLR_BACKENDS=wayland ~/.local/bin/triad session

If it opens a window, you're golden. If it fails, check your config.

Once it passes, log out. Choose River (Triad) at your login screen. The installer puts the session file in /usr/share/wayland-sessions/ and the binaries in ~/.local/bin.

Your First RunπŸ”—

Triad starts empty. No bar. No wallpaper. Just a cursor and a hotkey guide. This is normal.

Before you dive in, edit ~/.config/triad/config.kdl. Set your terminal.

bind "Super+Return" "spawn foot"

Replace foot with whatever you use. Press Super+? to see your keys.

The Starter ConfigπŸ”—

We don't choose your tools. We don't pick your bar or your browser. Our starter config is a skeleton. Install what you like, then tell Triad where to find it.

Check examples/config/niltempus_config.kdl for a full setup. It’s a reference, not a law.

TTY Smoke TestπŸ”—

Still unsure? Try a TTY.

  1. Ctrl+Alt+F3.
  2. Log in.
  3. Run ~/.local/bin/triad session.

If it works, you’re ready.

Keep It ValidπŸ”—

Always check your config after an edit:

triad validate-config

If things go wrong, check the logs:

triad logs

Look at triad-session-latest.log first.

UpdateπŸ”—

Stay current.

git pull
nimble liveReload

liveReload builds the new version, checks the running session, saves your state, and restarts the manager while you work. If the session is stale, it tells you when to restart River/Triad.