Ryoku on NixOS
力と美のために
The Ryoku you already know, made declarative for NixOS.
Ryoku on NixOS is the official NixOS port of Ryoku, a complete Wayland desktop with deep customisation, integrated applications and the best and most expansive ecosystem to ever be made on a shell.
Website · Install on NixOS · Installer ISO · Discord · Documentation · Upstream Ryoku
Beauty on the surface. Nix underneath.
The shell, Hub, launcher, RyoStore, theming and Ryoku applications are identical to its Arch counterpart while NixOS specific packaging, modules, system bridges, installer behavior and updates remain declarative.
v1 is currently in active beta. The existing NixOS install script is the recommended route however, the bootable ISO is available for testing from GitHub Releases but it will erase the selected disk during installation as is currently doesnt support manual partitioning.
The desktop
Customise it your way
Ryoku is designed to be incredibly customizable out of the box with the easy to use Ryostore and Settings page
![]() |
![]() |
![]() |
![]() |
What this port owns
Ryoku's base code and configs are the same as upstream, this repository is simply the NixOS adaptation. Packaging, module integration, installer and update behavior, service wiring, compatibility fixes and Nix specific runtime bridges.
That gives the same desktop two different system foundations:
|
Ryoku on Arch Pacman and AUR integration Arch-native services and system tooling Arch update and recovery flow |
Ryoku on NixOS Nix packages and NixOS modules Declarative packaging and integration NixOS generations and rollback |
Ryoku's power made declarative
Declarative |
Reproducible |
Recoverable |
The Ryoku ecosystem
Ryoku is more than the shell. The desktop is built from a set of focused tools that share the same visual and interaction language.
|
Ryostore Themes, bar styles, Fastfetch presets, lockscreens, plugins and decor all easily installable to customize your desktop. |
Ryotunes Native playback and music integration with YT Music, Spotify and SoundCloud all designed around the Ryoku desktop. |
RyoMotion Screen recording and advanced video/ screenshot editing integrated with Ryoku's capture workflow. |
|
Ryogami Wallpaper and visual tooling that feeds the wider Ryoku theme system with Wallpaper Engine and external repo support. |
Rashin Ryoku's assistant and terminal facing intelligence layer, compatable with Hermes, locally hosted AI and API models. |
Ryoku Hub Customizable profile, in depth settings, Fastfetch customizer, WM options and desktop control from one integrated surface. |
Installing Ryoku on NixOS
There are two installation paths.
Existing NixOS system
For an existing flake-based NixOS system, start the guided installer as your normal user
nix run github:aethctl/Ryoku-on-NixOS/main#install
Choose your compositor, browser, shell and optional apps, then review the generated changes before installation begins.
The installer:
- adds Ryoku to your existing flake,
- creates the
ryoku.nixmodules, - updates
flake.lock, - builds a new generation,
- switches to the new generation only after the build succeeds,
- restores the previous configuration files if the integration fails.
For custom flake paths, multi-host setups and manual integration, see the NixOS guide.
Fresh install / ISO
The bootable Ryoku on NixOS installer ISO is currently in pre-release testing ahead of v1. It is intended to become the primary path for fresh installations.
Testing warning: installation will erase the selected disk. Back up anything important before using a pre-release ISO.
Requirements
Ryoku is x86_64 only and boots in UEFI mode. The session is Wayland on
Hyprland or niri, with the GPU-composited Ryoku shell on top. The installer
refuses a machine with Secure Boot on (Limine ships unsigned) unless you have
enrolled your own keys, and there is no 32-bit build and no legacy BIOS path.
| Minimum | Recommended | |
|---|---|---|
| CPU | 64-bit x86_64, dual-core | quad-core or better |
| RAM | 4 GB | 8 GB, 16 GB with the dev toolchains |
| GPU | any card with working KMS and OpenGL/Vulkan | recent integrated or discrete |
| Storage | 32 GB (installer floor) | 64 GB+ SSD |
| Firmware | UEFI, Secure Boot off | UEFI, Secure Boot off |
What ships
| Area | What it contains |
|---|---|
ryoku/ |
Shared Ryoku desktop, shell, applications, Hyprland integration and assets |
nix/ |
Nix packages, NixOS module, installer, system bridge and Nix-specific integration |
flake.nix |
Public Nix entry point for modules, packages, apps, checks and development |
docs/ |
Shared desktop docs, NixOS docs and upstream Arch reference material |
tests/ |
Focused validation for the port and shared desktop behavior |
The repository is intentionally split between /ryoku and /nix. Shared desktop
features are located in /ryoku. Nix specific files, modules and compatability layers live in nix/.
The Nix layer packages the major Ryoku components independently rather than treating the desktop as one wrapper. The root flake exposes the shell, Hub, CLI, Ryostore, Ryotunes, Ryogami, RyoMotion, helper packages, compositor integration and the combined bundle as separate outputs.
How the port is maintained
This is a maintained platform port, not a one-time source translation. Upstream changes are reviewed and are ported within 2 days of upstream release.
- Shared desktop and application changes stay in
ryoku/whenever possible. - Arch specific packages, servicse and filesystem assumptions are replaced with Nix packages, NixOS modules or narrow runtime bridges.
- Bugs that also affect upstream Ryoku are fixed upstream when practical, fixes that only exist because of NixOS being NixOS stay in this repo.
- Visible runtime changes are tested on NixOS before they are released.
The detailed ownership rules and sync workflow live in docs/maintenance.md.
Validation
The public flake makes the core port buildable through one entry point
nix flake check
Its checks build the main runtime packages, QML modules, desktop integration, installer and materializer, and run focused installer/parser checks. CI adds shell linting, QML linting, Go tests, installer safety checks and targeted integration guards.
For compositor, display, audio, GPU or installer behavior, a green CI run is not treated as runtime proof. Pull requests should record the machine/runtime test that was actually performed.
Community and contributing
Ryoku on NixOS is actively maintained and contributions are welcome.
- Join the Ryoku Discord for installation help, testing and development discussion.
- Browse open issues for current work.
- Start with a good first issue if you want a bounded first contribution.
- Read CONTRIBUTING.md for the development workflow, testing expectations and upstream/NixOS ownership boundary.
- Read the performance roadmap for measured shell-performance work that needs contributors.
Testing is useful too. Hardware-facing changes cannot be proven by CI alone, so real reports from different GPUs, compositors and machines materially improve the port.
Development
Clone the repository and enter the development shell:
nix develop
Run Ryoku directly from a development checkout:
nix run .#ryoku-devUseful public flake outputs include:
.#install
.#ryoku-dev
.#ryoku-materialize
See docs/README.md for the documentation map and docs/structure.md for the repository layout.
Upstream and credits
Ryoku on NixOS is the NixOS port of Ryoku.
Ryoku was created by Neur0map. The NixOS port keeps upstream desktop behavior close while adapting system integration to NixOS.
Full attribution is available in NOTICE.
Ryoku is released under the GNU GPL v3.
力と美のために
Power in the system. Beauty in the surface.













