19 , xwaylandSupport ? true
22 stdenv.mkDerivation (finalAttrs: {
26 outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ];
28 src = fetchFromGitea {
29 domain = "codeberg.org";
32 rev = "refs/tags/v${finalAttrs.version}";
33 fetchSubmodules = true;
34 hash = "sha256-6LZuWx0sC6bW0K7D0PR8hJlVW6i6NIzOOORdMu3Gk5U=";
43 ++ lib.optional withManpages scdoc;
54 ] ++ lib.optional xwaylandSupport libX11;
58 zigBuildFlags = lib.optional withManpages "-Dman-pages"
59 ++ lib.optional xwaylandSupport "-Dxwayland";
62 install contrib/river.desktop -Dt $out/share/wayland-sessions
65 passthru.providedSessions = [ "river" ];
68 homepage = "https://codeberg.org/river/river";
69 description = "A dynamic tiling wayland compositor";
71 River is a dynamic tiling Wayland compositor with flexible runtime
75 - Simple and predictable behavior, river should be easy to use and have a
77 - Window management based on a stack of views and tags.
78 - Dynamic layouts generated by external, user-written executables. A
79 default rivertile layout generator is provided.
80 - Scriptable configuration and control through a custom Wayland protocol
81 and separate riverctl binary implementing it.
83 changelog = "https://codeberg.org/river/river/releases/tag/v${finalAttrs.version}";
84 license = lib.licenses.gpl3Plus;
85 maintainers = with lib.maintainers; [
90 mainProgram = "river";
91 platforms = lib.platforms.linux;