mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-23 02:05:33 +07:00
36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
Since niri is not a complete desktop environment, you will very likely want to run the following software to make sure that other apps work fine.
|
|
|
|
### Notification Daemon
|
|
|
|
Many apps need one. For example, [mako](https://github.com/emersion/mako) works well. Use [a systemd setup](./Example-systemd-Setup.md) or `spawn-at-startup`.
|
|
|
|
### Portals
|
|
|
|
These provide a cross-desktop API for apps to use for various things like file pickers or UI settings. Flatpak apps in particular require working portals.
|
|
|
|
Portals **require** [running niri as a session](https://github.com/YaLTeR/niri#session), which means through the `niri-session` script or from a display manager. You will want the following portals installed:
|
|
|
|
* `xdg-desktop-portal-gtk`: implements most of the basic functionality, this is the "default fallback portal".
|
|
* `xdg-desktop-portal-gnome`: required for screencasting support.
|
|
* `gnome-keyring`: implements the Secret portal, required for certain apps to work.
|
|
|
|
Then systemd should start them on-demand automatically. These particular portals are configured in `niri-portals.conf` which [must be installed](https://github.com/YaLTeR/niri#installation) in the correct location.
|
|
|
|
Since we're using `xdg-desktop-portal-gnome`, Flatpak apps will read the GNOME UI settings. For example, to enable the dark style, run:
|
|
|
|
```
|
|
dconf write /org/gnome/desktop/interface/color-scheme '"prefer-dark"'
|
|
```
|
|
|
|
### Authentication Agent
|
|
|
|
Required when apps need to ask for root permissions. Something like `plasma-polkit-agent` works fine. Start it [with systemd](./Example-systemd-Setup.md) or with `spawn-at-startup`.
|
|
|
|
Note that to start `plasma-polkit-agent` with systemd on Fedora, you'll need to override its systemd service to add the correct dependency. Run:
|
|
|
|
```
|
|
systemctl --user edit --full plasma-polkit-agent.service
|
|
```
|
|
|
|
Then add `After=graphical-session.target`.
|