Niri Plus / Desktop guide

The desktop at a glance

The bindings below describe my managed Niri desktop. Portable examples and component guides let you adopt the parts you want.

The component source map distinguishes published components, the Arch reference and dated adoption evidence. Components 0.4.3, SwayNC 0.12.6-18 and the black-workspace sidebar identity are delivered on Carbon, Starship and Snap through chezmoi, as recorded in the managed-host delivery record. The numbered Arch install target now uses SwayNC 0.12.6-18 from fork release 1. The 2026-11-08 qualification completed the numbered installation and 21 mapped routine native task groups through an independent fresh replay and supplemental checkpoint-copy checks, with a conditional VirtIO sharing branch. The VM suspend/resume check is waived for this qualification; physical-device acceptance remains separate. Existing media retain their package 17 receipt and capture dates. Earlier delivery records retain their historical context.

Published components 0.9.2 include the optional unified session screen. It replaces Ctrl+Alt+Delete with the action grid only when its profile is selected. The baseline bindings below and dated fleet evidence do not establish adoption of that screen.

Keyboard reference

Mod is Niri's compositor modifier, normally Super on a regular session.

Task Binding
Applications Mod+D
Terminal Mod+Return or Mod+T
Browser Mod+B
File manager Mod+E
SSH Plus Mod+S
Tmux Plus Mod+G
Agent Plus Mod+A
Notification panel Mod+N
Clipboard history Mod+Y
Manual lock Ctrl+Alt+Delete
Turn off displays (Niri default) Mod+Shift+P
Niri overview Mod+O
Native key overlay Mod+Shift+/
Focus a column Mod+H/L or Mod+Left/Right
Focus a window Mod+J/K or Mod+Down/Up
Change column width Mod+R
Maximize column Mod+F
Fullscreen window Mod+Shift+F
Screenshot Print

Mod+Shift+P uses Niri's immediate power-off-monitors action; fresh input wakes the displays. The away-mode recipe offers a separate manual latch and an optional replacement binding. Select that profile explicitly if you want the latch on this key.

For the optional screen, Ctrl+Alt+Delete instead launches desktop-session-menu --screen. Lock, Display off and Suspend form the first row; Log out, Restart and Shut down form the second. Every action has a five-second cancellable countdown as its confirmation, with automatic execution at expiry. Display off does not add a lock; Lock always locks then turns displays off. Its profile replaces the baseline lock binding and is unavailable while locked.

Launchers

Plain applications use rofi -show drun. The clipboard helper is a small standalone program. The Rofi Plus tools each supply their own launch contract.

Picker Component guide Main behavior
SSH Plus Get started Recent hosts and explicit SSH access.
Tmux Plus Get started Browse sessions across configured host scopes.
Agent Plus Get started Open or focus dedicated native agent TUI windows.

Up/Down move through rows. Tab/Shift+Tab cycle named actions while keeping the filter and row. Enter runs the visible action. Escape/Ctrl+G cancel. Tmux's Left/Right changes host scope; SSH and Agent keep their own filter-editing behavior. Use the full launcher instructions rather than copying only a binary name.

Common utilities

Mod+D opens the application list. Network, Audio and Bluetooth open the direct Rofi controls: search devices, cycle named actions with Tab/Shift+Tab and run the visible action with Enter. Open selects a device page; Details explains its native state. Current/default devices have green framing, while blue marks keyboard selection. The action strip and status have separate places.

Network retains nm-connection-editor, Audio retains pavucontrol, and Bluetooth retains bluetoothctl for deeper settings and recovery. Native providers keep device ownership. Session retains its existing lock, logout and confirmed power actions; see the utility recipe.

The historical 0.4.1 delivery passed exact installed-file, native dependency, fresh callback/startup and no-write repeat checks on 2026-10-29; its result remains in the 0.4.1 delivery history. Physical Wi-Fi/wallet, speaker/microphone and peripheral actions remain normal-use checks. The Arch agent guide now targets 0.4.3/SwayNC 0.12.6-18. Its 2026-11-08 qualification completed 21 mapped routine native task groups through the fresh replay and supplemental checkpoint-copy checks, including cold wallet lookup and the conditional VirtIO monitor-sharing branch. The VM suspend/resume check is waived at Bryan's request. This is separate from fleet delivery and physical-device acceptance; historical captures keep their original package 17 provenance. The 0.4.1 fresh-base receipt records only the earlier guest tasks and documented VirtIO sharing branch.

Session and hardware ownership

Capability Owner Boundary
Login screen SDDM The greeter theme and root-owned assets are separate from the user session.
Window/session navigation Niri Keyboard, pointer, touchpad, window layout, and the native quit confirmation.
Output profiles Kanshi Selects monitor layouts; does not own the shell or display-manager theme.
Idle and power swayidle and the session policy Display-off, lock, suspend, lid, and battery timing remain explicit policy.
Manual display-away Optional desktop-away companion Explicit away entry keeps displays off until input returns; it does not own automatic idle or suspend.
Manual lock Gtklock through desktop-lock.service An independent user unit keeps manual locks separate from idle reloads.
Portals GTK / WLR / KWallet GTK owns file/access/settings/notification interfaces; WLR supplies whole-monitor capture; KWallet owns secrets.
Input methods Fcitx5 Text composition and candidate UI remain separate from the keyboard layout.
Authorization polkit-kde-agent Applications request authorization; the agent supplies the graphical prompt.
Removable storage UDisks2 plus polkit and filesystem support File-manager mounting is separate from the common utility entries.
Brightness Laptop backlight device Hardware-key feedback applies to the laptop panel; external-monitor DDC/CI is separate.

Working setup

Crisper Neutral Slate, the pure-black workspace, Balanced+ terminal and the components 0.4.3/SwayNC 0.12.6-18 sidebar are delivered on Carbon, Starship and Snap. The sidebar uses a unified information surface and separate notification cards with 75% fill; chezmoi selects host layout and policy. Carbon's delivery completed on 2026-11-07. Exact installed checks, retained preimages and recovery artifacts stay in the private consumer receipts. This public sync changes the reference and showcase, with no new fleet deployment.

The earlier black-workspace-only rollout changed Niri configuration and controls role metadata; its 23-target/no-write repeat results remain in the dated 0.4.1 delivery history. Fresh guest, managed delivery, physical hardware and human visual acceptance are separate.

Managed desktop / 2026-11-07Neutral Slate · Starship, Snap, Carbon

SwayNC fork release 1/package 0.12.6-18 delivered to Carbon, Starship and Snap. Existing sidebar appearance retained; physical and human acceptance remains separate.

Components
0.4.3 · 07cf4a3933
Consumer
60ba363bec
SwayNC fork
swaync-bryan 0.12.6-18
Full delivery record ↗

Appearance

The Neutral Slate Design page shows the selected palette, type, and launcher, information, terminal, and login/lock surfaces. Its illustrations are samples, not native or deployed screenshots. The terminal recipe links to the generated Neutral Slate Kitty fragment. The appearance recipe links to the Niri, Rofi, SwayNC, Gtklock, Qt 5/6, and KDE color examples and describes their owners and merge boundaries.

Examples and verification

The Arch walkthrough gives the order. Focused guides cover display profiles, SDDM login, idle/power and authorization, hardware feedback, input methods, and files/default applications.

The site build checks its routes, links, example inventory, and asset hashes. Browser checks cover responsive layout, keyboard controls, walkthrough behavior, and reading with JavaScript disabled. Niri and shell examples have separate syntax checks. Authentication, hardware behavior, suspend, and a clean-machine installation require checks on the target system.

Sources and further reading

Setup overview →Read on GitHub ↗