Notification Daemon
Many applications rely on notifications to communicate with users. Without a notification daemon, you won’t see notifications from apps.mako
A lightweight Wayland notification daemon that works well with niri
Setup
Start mako using one of these methods:- systemd
- spawn-at-startup
Create a systemd user service for mako. See the Example systemd Setup page for details.
Portals
Portals provide a cross-desktop API for applications to access system functionality like file pickers, screen sharing, and UI settings. Flatpak apps require working portals.Portals require running niri as a session (via
niri-session script or from a display manager). They will not work if you run niri in windowed mode.Required Portal Packages
Install xdg-desktop-portal-gtk
This is the default fallback portal that implements most basic functionality.
Portal Configuration
Theniri-portals.conf file configures which portal implementations to use. This file must be installed in the correct location (see Getting Started - Manual Installation).
If you prefer a different file manager:
Edit niri-portals.conf
Open
/usr/local/share/xdg-desktop-portal/niri-portals.conf (or the appropriate location for your installation).Portal Functionality
Once portals are properly configured, systemd will start them on-demand automatically.UI Settings
UI Settings
Flatpak apps will read GNOME UI settings through the portals. For example, to enable dark mode:
Screen Sharing
Screen Sharing
The GNOME portal provides screen sharing and recording functionality. This is essential for screen sharing in browsers and video conferencing apps.
Authentication Agent
An authentication agent is required when applications need to request root permissions or elevated privileges.plasma-polkit-agent
KDE’s polkit authentication agent works well with niri
Setup
Start the authentication agent using one of these methods:- systemd
- spawn-at-startup
Start plasma-polkit-agent with systemd. See the Example systemd Setup page for details.
Xwayland
To run X11 applications like Steam, Discord, or older apps that don’t support Wayland natively, you need Xwayland support.xwayland-satellite
A standalone Xwayland server for Wayland compositors
Installation
Essential Software Summary
Notifications
mako or similar notification daemonRequired for app notifications
Portals
xdg-desktop-portal-gtkxdg-desktop-portal-gnomegnome-keyringRequired for Flatpak, file pickers, screen sharing
Authentication
plasma-polkit-agent or similarRequired for privilege elevation
File Manager
nautilus or configure GTK portalRequired for file picker dialogs
Xwayland
xwayland-satelliteRequired for X11 apps
Terminal
alacritty (default) or your preferenceRequired for command-line access
App Launcher
fuzzel (default) or rofi/wofiRequired for launching applications
Screen Locker
swaylock or similarRecommended for security
Optional but Recommended
While not strictly required, these tools enhance the desktop experience:- Status bar: waybar, yambar, or i3status-rust for system information
- Screen recorder: wf-recorder or obs-studio for recording sessions
- Screenshot tool: grim + slurp (included in default niri config)
- Clipboard manager: cliphist or wl-clipboard for clipboard history
- Volume control: pavucontrol or similar for audio management
- Network manager: nm-applet or similar for network configuration
Verification
To verify your setup is working correctly:Next Steps
Configuration
Customize niri to match your workflow and preferences
Xwayland Setup
Detailed guide for setting up X11 application support