How to Configure WTF's Layout and Modules

Updated

WTF is configured through configuration files, not through an in-app settings screen. You define shared behavior under Global Settings and Common Settings, place modules on screen with the Grid Layout, and then give each module its own configuration block. To change what your dashboard shows or where it sits, edit the config file and restart WTF.

Where configuration lives

WTF reads its settings from configuration files. The site's documentation separates configuration into four areas:

  • Configuration Files — the files WTF loads on startup
  • Global Settings — settings that apply across the whole dashboard
  • Common Settings — shared options reused by modules
  • Grid Layout — the definition of where modules appear on screen

The practical consequence: every layout or module change is a file edit. There is no menu path to memorize, and the same file controls both what appears and where it appears.

Step 1: Open your configuration file

Start from the config file WTF already uses. If you have not created one yet, the Getting Started and Quick Start pages cover initial setup and installation, and the Configuration Files page explains which files are read. Keep a copy of the working file before editing so you can restore a known-good dashboard if a change breaks startup.

Step 2: Set shared behavior first

Global Settings and Common Settings control behavior that applies beyond a single module. Configure these before adding modules, because module entries inherit shared options rather than repeating them. If a module behaves unexpectedly, check whether a common setting is overriding what you expected at the module level.

Step 3: Define the Grid Layout

The Grid Layout is where you decide placement. Treat it as a map of your terminal screen: each position in the grid is assigned a module, and the module's configuration block supplies its content and options. Two rules keep this manageable:

  1. Add one module at a time and confirm it renders in the intended position.
  2. Keep the module name in the layout identical to the name used in that module's configuration block.

If a module is configured but never appears, the layout is the first place to look; if it appears in the wrong spot, the layout is the only place to look.

Step 4: Configure each module you enable

Every module has its own configuration options. The documentation lists modules by category, which helps you find the right page quickly:

Category Examples from the module list
Developer and CI GitHub, GitLab, Jenkins, CircleCI, TravisCI, BuildKite
Observability and incidents Datadog, New Relic, PagerDuty, OpsGenie, UptimeRobot, Rollbar
Productivity and tasks Todo, Todoist, Trello, Jira, Asana
Feeds and community Feed Reader, HackerNews, Subreddit, Twitter, DEV (Dev.to)
Finance Stocks (Finnhub, Yahoo Finance), Crypto Currencies (Bittrex, Blockfolio)
System and utilities Power, Resource Usage, IP Address, Weather Services, Clocks

Open the page for each module you plan to use and apply its options in that module's configuration block. Modules that need an external account or service will have their own required settings; the module page is the authority for those, not the global section.

Verify the result

Restart WTF after editing and check three things in order: the dashboard starts without errors, each enabled module appears in its assigned grid position, and each module shows live data rather than an empty or error state. If startup fails, revert to your saved copy and reapply changes one at a time.

Common sticking points

  • Editing the wrong file. Confirm you are editing a file listed under Configuration Files; changes elsewhere have no effect.
  • Layout and module names out of sync. A mismatch between the grid entry and the module block is the usual cause of a missing module.
  • Expecting a settings UI. Configuration is file-based, so changes require a restart to take effect.
  • Adding many modules at once. Batch edits make it hard to tell which change caused a failure; add incrementally.

For anything beyond layout and shared settings — writing your own module, for example — the documentation's Development section covers creating new modules.