Documentation Index
Fetch the complete documentation index at: https://mintlify.com/zirconium-dev/zirconium/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Niri is a scrollable-tiling Wayland compositor that serves as the window manager in Zirconium. It provides a unique tiling experience where workspaces are organized horizontally and windows can be arranged in a scrollable layout.Niri is installed from the yalter/niri-git COPR repository and runs as the default session manager launched by dms-greeter.
Configuration files
Niri configuration is managed through several locations:User configuration
- Main config:
~/.config/niri/config.kdl - Managed by: chezmoi (from zdots)
- Source:
/usr/share/zirconium/zdots/
System configuration
- Greeter config:
/etc/greetd/config.toml - Session command:
dms-greeter --command niri
Your Niri configuration is automatically managed by chezmoi and synchronized with the system zdots. Any manual changes will be overwritten during OS updates unless you disable automatic dotfile updates.
Key configuration options
Environment variables
Zirconium sets up the following environment variables for optimal Niri experience:Window manager features
Niri in Zirconium includes:- Scrollable tiling: Horizontal workspace navigation with infinite scrolling
- Wayland-native: Full Wayland support with XWayland fallback via xwayland-satellite
- Dynamic layouts: Automatic window arrangement and resizing
- Multi-monitor support: Native support for multiple displays
Keybindings and customization
Niri keybindings are defined in~/.config/niri/config.kdl. The default configuration is managed through zdots.
Common operations
While specific keybindings are defined in your zdots configuration, Niri typically supports:- Window navigation and movement
- Workspace switching
- Layout adjustments
- Application launching via DankMaterialShell
Resetting Niri configuration
Resetting Niri configuration
If you need to reset your Niri configuration to defaults:This command will:
- Prompt for confirmation (requires
gum) - Reset
~/.config/nirito the zdots defaults - Preserve your other configurations
Auto-rotation support
Zirconium includes automatic screen rotation support for convertible devices through theiio-niri service.
Managing auto-rotation
/usr/lib/systemd/user/iio-niri.service:
Customizing Niri
Direct configuration editing
You can edit Niri configuration directly, but be aware that changes may be overwritten:Persistent customization
For persistent Niri customization:-
Disable automatic dotfile updates if you want full control:
- Fork zdots and customize the Niri configuration there
- Use chezmoi templates to conditionally apply your customizations
Additional tools
Niri integrates with several Zirconium components:- DankMaterialShell: Provides the UI shell, launcher, and panels
- udiskie: Automatic USB device mounting (systemd user service)
- fcitx5: Input method framework for multilingual input
- xdg-desktop-portal-gnome: Desktop integration for file pickers and screenshots
Troubleshooting
Niri won’t start
Check the greetd logs:Configuration errors
Validate your Niri configuration:Reset to defaults
Use the built-in reset command:Next steps
DankMaterialShell
Configure the UI shell and launcher
Customization
Learn about dotfiles and theming