Where Is the river Config File?
river executes an init script from the river config folder at startup. Keybindings and rules are shell commands inside it.
Last updated
river has no config file format. Startup runs an executable init script from the XDG config home river folder, and every setting is a riverctl command inside it: keybindings, input, outputs, borders, and layout values. The script is the config.
That makes the whole setup one versionable shell file. Spawn helpers (status bars, portals, wallpaper) from the same script. A missing or non executable init falls back to defaults, which surprises first timers. Layout generators run as separate processes reading the same tags.
Where river stores this, by platform
/home/<username>/.config/river/init
Executable startup script with riverctl commands. Must have the exec bit set. Version it like any dotfile.
Frequently asked questions
How do I configure river?
Create an executable file named init in the river config folder with riverctl commands for maps, rules, and layout. It runs once per session start.
How do I reload river config?
Edit the init script and restart river. There is no reload command, so the file only takes effect on fresh launches.
Notice an outdated path? Let us know.