Skip to main content
This is a repo-safe inventory of the text and config files Ryoku ships, walked from the current tree under ryoku/, system/, and installation/. Paths are repo-relative; runtime targets are generic (~/.config, /usr/share, /etc), not machine-specific. The same three pillars from the rest of the docs apply here:
  • ryoku/ lays files into the user’s home (mostly under ~/.config).
  • system/ ships helpers and policy into the target’s /usr and /etc.
  • installation/ is what assembles those files onto a machine.
Wallpapers, brand art, font binaries, and .gitkeep placeholders are excluded: they are assets, not customization surfaces. The [ryoku] pacman package ryoku-desktop copies the base layout to /usr/share/ryoku/config; the ryoku materialize step (from the ryoku CLI) copies that tree into ~/.config, replacing Ryoku-owned files but never touching the user’s own overrides. See /docs/customize for the customization story and /docs/updates for how updates apply.

Hyprland session

The compositor config is authored in Lua. hyprland.lua is the entry point and requires the rest; the load order ends with user.lua, so personal overrides always win. User overrides for the session live alongside the shipped files and are never clobbered:

Hyprland helper scripts

ryoku-desktop also lays the scripts/ directory beside the Lua config, and copies each helper to /usr/bin so it works from a keybind or the CLI. The shell calls these by absolute path under ~/.config/hypr/scripts/.

Themes

Full-system themes live one directory per theme under ryoku/hyprland/themes/. Ryoku Settings (Hub) reads the catalogue and applies a theme by writing ~/.config/hypr/theme.lua (and the shell’s matching tokens). Each theme dir holds the same three files. Shipped themes: aqua, cassette, catppuccin, compact, crt, default, drift, glass, gruvbox, mountains, nord, rose-pine, soft_color, tokyo-night, washi.

Shell (Quickshell UI + Go daemon)

The shell is one Quickshell tree under ryoku/shell/quickshell/ driven by ryoku-shell (the Go daemon under ryoku/shell/ipc/). The shell config files below are the customizable surfaces; the QML components themselves are covered in /docs/ui-patterns. The shell’s persistent appearance state (live edits from Ryoku Settings) is JSON at ~/.config/ryoku/shell.json, watched by the shell so changes apply without a reload.

Ryoku Settings (Hub)

The Hub is one Qt6/QML app plus a Go backend. Its quickshell config is deployed beside the desktop shell.

Apps

Each app keeps its own native format under ryoku/apps/<app>/. ryoku materialize lays them into ~/.config (or the app’s expected home).

Lockscreen and greeter

System (boot, hardware, extras)

system/ ships files into the target’s /usr, /etc, and /boot.

Boot

Hardware helpers

ryoku-desktop ships each helper to /usr/bin; Hyprland autostart, Lua keybinds, and the shell call them by bare name.

Extras (Hub bundles)

ryoku-desktop ships these to /usr/bin. The Hub’s Extras section drives them; see /docs/plugins.

Package sets

pacstrap and the post-install AUR step read these.

Per-user overrides that survive updates

Updates use the same one-way repo to system flow (/docs/updates). ryoku materialize clobbers files it owns and prunes dropped ones, but the files below are yours and never touched.
Last modified on June 24, 2026