Where Is the Niri Config File?
Niri's config.kdl search order, live reload behavior, and validation command.
Last updated
Niri reads KDL config from the XDG config home first, then falls back to the system /etc path. If neither file exists it writes the embedded default to your config home so you always start from a working example.
Edits apply live on save, including binds, outputs and window rules. That makes small iterations pleasant, but keep a known good copy since a typo applies just as fast.
Where Niri stores this, by platform
~/.config/niri/config.kdl
Full order: $XDG_CONFIG_HOME/niri/config.kdl, ~/.config/niri/config.kdl, then /etc/niri/config.kdl. Override with niri --config path or $NIRI_CONFIG. Check edits with niri validate.
Frequently asked questions
How do I split Niri config across files?
Add top level include lines like include "colors.kdl". Paths resolve relative to the current file, and includes are positional, so later files win.
Why did my Niri config stop parsing after update?
Minor releases may break parsing while patches never do. Run niri validate to find the offending node, then compare against the embedded default.
Notice an outdated path? Let us know.