aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/mkdocs.yaml1
-rw-r--r--docs/wiki/Integrating-niri.md44
-rw-r--r--docs/wiki/Packaging-niri.md2
-rw-r--r--docs/wiki/_Sidebar.md1
4 files changed, 48 insertions, 0 deletions
diff --git a/docs/mkdocs.yaml b/docs/mkdocs.yaml
index d3dc4d29..c4506c9c 100644
--- a/docs/mkdocs.yaml
+++ b/docs/mkdocs.yaml
@@ -85,6 +85,7 @@ nav:
- Xwayland: Xwayland.md
- Gestures: Gestures.md
- Packaging niri: Packaging-niri.md
+ - Integrating niri: Integrating-niri.md
- Accessibility: Accessibility.md
- FAQ: FAQ.md
- Configuration:
diff --git a/docs/wiki/Integrating-niri.md b/docs/wiki/Integrating-niri.md
new file mode 100644
index 00000000..8e0fd3fb
--- /dev/null
+++ b/docs/wiki/Integrating-niri.md
@@ -0,0 +1,44 @@
+This page contains various bits of information helpful for integrating niri in a distribution.
+First, for creating a niri package, see the [Packaging](./Packaging-niri.md) page.
+
+### Configuration
+
+Niri will load configuration from `$XDG_CONFIG_HOME/niri/config.kdl` or `~/.config/niri/config.kdl`, falling back to `/etc/niri/config.kdl`.
+If both of these files are missing, niri will create `$XDG_CONFIG_HOME/niri/config.kdl` with the contents of [the default configuration file](https://github.com/YaLTeR/niri/blob/main/resources/default-config.kdl), which are embedded into the niri binary at build time.
+
+This means that you can customize your distribution defaults by creating `/etc/niri/config.kdl`.
+When this file is present, niri *will not* automatically create a config at `~/.config/niri/`, so you'll need to direct your users how to do it themselves.
+
+Keep in mind that we update the default config in new releases, so if you have a custom `/etc/niri/config.kdl`, you likely want to inspect and apply the relevant changes too.
+
+Splitting the niri config file into multiple files, or includes, are not supported yet.
+
+### Xwayland
+
+Xwayland is required for running X11 apps and games, and also the Orca screen reader.
+
+<sup>Since: next release</sup> Niri integrates with [xwayland-satellite](https://github.com/Supreeeme/xwayland-satellite) out of the box.
+The integration requires xwayland-satellite >= 0.7 available in `$PATH`.
+Please consider making niri depend on (or at least recommend) the xwayland-satellite package.
+
+You can change the path where niri looks for xwayland-satellite using the [`xwayland-satellite` top-level option](./Configuration:-Miscellaneous.md#xwayland-satellite).
+
+### Keyboard layout
+
+<sup>Since: next release</sup> By default (unless [manually configured](./Configuration:-Input.md#layout) otherwise), niri reads keyboard layout settings from systemd-localed at `org.freedesktop.locale1` over D-Bus.
+Make sure your system installer sets the keyboard layout via systemd-localed, and niri should pick it up.
+
+### Autostart
+
+Niri works with the normal systemd autostart.
+The default [niri.service](https://github.com/YaLTeR/niri/blob/main/resources/niri.service) brings up `graphical-session.target` as well as `xdg-desktop-autostart.target`.
+
+To make a program run at niri startup without editing the niri config, you can either link its .desktop to `~/.config/autostart/`, or use a .service file with `WantedBy=graphical-session.target`.
+See the [example systemd setup](./Example-systemd-Setup.md) page for some examples.
+
+If this is inconvenient, you can also add [`spawn-at-startup`](./Configuration:-Miscellaneous.md#spawn-at-startup) lines in the niri config.
+
+### Screen readers
+
+Niri works with the [Orca](https://orca.gnome.org) screen reader.
+Please see the [Accessibility](./Accessibility.md) page for details and advice for accessibility-focused distributions.
diff --git a/docs/wiki/Packaging-niri.md b/docs/wiki/Packaging-niri.md
index c8f8ab30..fdf2b545 100644
--- a/docs/wiki/Packaging-niri.md
+++ b/docs/wiki/Packaging-niri.md
@@ -28,6 +28,8 @@ To do that, put files into the correct directories according to this table.
Doing this will make niri appear in GDM and other display managers.
+See the [Integrating niri](./Integrating-niri.md) page for further information on distribution integration.
+
### Running tests
A bulk of our tests spawn niri compositor instances and test Wayland clients.
diff --git a/docs/wiki/_Sidebar.md b/docs/wiki/_Sidebar.md
index 5dcddf45..73c08224 100644
--- a/docs/wiki/_Sidebar.md
+++ b/docs/wiki/_Sidebar.md
@@ -14,6 +14,7 @@
* [Xwayland](./Xwayland.md)
* [Gestures](./Gestures.md)
* [Packaging niri](./Packaging-niri.md)
+* [Integrating niri](./Integrating-niri.md)
* [Accessibility](./Accessibility.md)
* [FAQ](./FAQ.md)