explaingit

niri-wm/niri

Analysis updated 2026-05-18

23,766RustAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

A Linux window manager using Wayland that arranges windows in scrollable columns instead of overlapping layers, letting you navigate with keyboard and gestures.

Mindmap

mindmap
  root((niri))
    What it does
      Scrollable tiling layout
      Automatic workspace stacking
      Window grouping into tabs
    Features
      Touchpad gestures
      Screenshot and recording
      Animated transitions
      Live config reload
    Use cases
      Power users many windows
      Keyboard-driven workflows
      Custom Linux desktops
    Tech stack
      Wayland protocol
      Smithay toolkit
      X11 compatibility
    Audience
      Linux desktop users
      Tiling WM enthusiasts
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Organize dozens of application windows in a single scrollable strip without overlapping or resizing chaos.

USE CASE 2

Build a keyboard-driven Linux desktop with animated transitions, gestures, and live configuration updates.

USE CASE 3

Run legacy X11 applications alongside modern Wayland apps on the same tiling workspace.

USE CASE 4

Create custom window layouts with tabs and per-monitor independent workspaces that scale automatically.

What is it built with?

RustWaylandSmithayX11

How does it compare?

niri-wm/nirirome/toolsuutils/coreutils
Stars23,76623,44323,210
LanguageRustRustRust
Setup difficultyhardeasymoderate
Complexity4/52/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Rust compilation, Wayland/X11 libraries, and a compatible Linux environment with display server setup.

Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.

In plain English

Niri is a window manager for Linux desktops that uses the Wayland display protocol. A window manager controls how application windows are arranged and navigated on your screen. Niri takes a specific approach called scrollable tiling: instead of windows overlapping like in a traditional desktop, they are arranged in columns on an infinite horizontal strip. You scroll left and right to reach different windows rather than switching between stacked layers. The core idea is that opening a new window never forces existing windows to resize or move unexpectedly. Each monitor gets its own independent strip of windows, so a window can never accidentally spill onto the wrong screen. Workspaces, which are like virtual desktops, are stacked vertically on each monitor and created automatically as needed. Beyond the layout philosophy, niri includes features you would expect from a modern desktop environment: touchpad gestures, a built-in screenshot tool, screen recording, animated transitions, gradient window borders, background blur, and live configuration reloading without restarting. It also supports grouping windows into tabs, and can run older X11 applications alongside native Wayland ones. You would use niri if you work with many windows at once and find the standard overlapping-window model chaotic. It suits power users comfortable configuring a Linux desktop from scratch who want a keyboard-driven, tiling workflow without the complexity of some alternatives. It is written in Rust and built on the Smithay compositor toolkit.

Copy-paste prompts

Prompt 1
How do I install and configure niri as my window manager on my Linux system?
Prompt 2
Show me how to set up keyboard shortcuts and touchpad gestures in niri's config file.
Prompt 3
How do I group windows into tabs in niri and switch between them?
Prompt 4
What are the performance differences between niri's scrollable tiling and traditional stacking window managers?
Prompt 5
How do I enable screenshot and screen recording features in niri?

Frequently asked questions

What is niri?

A Linux window manager using Wayland that arranges windows in scrollable columns instead of overlapping layers, letting you navigate with keyboard and gestures.

What language is niri written in?

Mainly Rust. The stack also includes Rust, Wayland, Smithay.

What license does niri use?

Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.

How hard is niri to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is niri for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub niri-wm on gitmyhub

Verify against the repo before relying on details.