Mod+,.
This page is the other half: the plain files Ryoku reserves for you in
~/.config/, which ryoku update never touches. Reach for them when the GUI
does not cover what you want, or when you would rather edit text than click.
Settings (the GUI)
Appearance, displays, input, keybinds, the shell, and more, applied live.
Theming
Full-system themes, the wallust palette, and wallpapers.
Displays have both paths: tune them in Settings > Displays (see Displays &
hardware), and hand-pin the stubborn ones in
monitors_user.lua, below.Personal Hyprland overrides: user.lua
~/.config/hypr/user.lua is yours. It is never shipped and never touched by
ryoku materialize, and it loads last in the Hyprland config, so it wins
over both the shipped defaults and anything Ryoku Settings writes.
The load order, from ryoku/hyprland/hyprland.lua, is:
modules.env,keyboard.lua.- Generated drop-ins
gpu.luaandmonitors.lua(and yourmonitors_user.luaif present). - The base modules (
displays,input,decoration,animations,binds,resize,ryoshot,window_rules,fullscreen,autostart). - The active
theme(selected in Settings). settings.lua(written by the Hub).user.lua(yours, loaded last, wins).
Manual monitor pinning: monitors_user.lua
For everyday display changes, use Settings > Displays (see Displays &
hardware). It writes the generated ~/.config/hypr/monitors.lua,
which ryoku-monitor also rewrites once per machine and on hotplug or GPU reset.
When you need a layout the panel cannot express, a fake-EDID display that needs a
forced mode, a forced modeline, or a specific position, write
~/.config/hypr/monitors_user.lua instead. It loads after the generated file, so
your pins win, and updates never touch it. A template ships at
~/.config/hypr/monitors_user.lua.example.
Per-app settings
Each app underryoku/apps/<app>/ keeps its native format under its own
directory; there is no Lua wrapper for a tool that reads its own config. Where an
app ships a base file, drop your changes in the paired override file so an update
cannot clobber them:
What survives an update
ryoku materialize clobbers the
files Ryoku ships and prunes files a past release shipped but this one dropped. It
never touches files Ryoku never shipped, which is what makes user.lua,
monitors_user.lua, kitty/user.conf, fish/user.fish, and your own additions
survive every update.
The generated drop-ins (hypr/monitors.lua, hypr/gpu.lua) are seeded only when
absent and are never clobbered or pruned, so an update never resets your display
layout or GPU pin.
Reloading after a change
After editing a file by hand:See also
Settings
The GUI for everything above, and the panels this page complements.
Theming
Themes, palette, and wallpapers.
Displays & hardware
The GUI display, GPU, input, and power controls.
Keybindings
The shipped binds
user.lua can override.
