21 , xwaylandSupport ? true
24 stdenv.mkDerivation (finalAttrs: {
28 outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ];
30 src = fetchFromGitea {
31 domain = "codeberg.org";
34 rev = "refs/tags/v${finalAttrs.version}";
35 fetchSubmodules = true;
36 hash = "sha256-NUKjQOT6UgNYCebeHMxOhX08r3493IOL3qHZivEcbAg=";
39 deps = callPackage ./build.zig.zon.nix { };
47 ++ lib.optional withManpages scdoc;
59 ] ++ lib.optional xwaylandSupport libX11;
66 ] ++ lib.optional withManpages "-Dman-pages" ++ lib.optional xwaylandSupport "-Dxwayland";
69 install contrib/river.desktop -Dt $out/share/wayland-sessions
73 providedSessions = [ "river" ];
74 updateScript = ./update.nu;
78 homepage = "https://codeberg.org/river/river";
79 description = "Dynamic tiling wayland compositor";
81 River is a dynamic tiling Wayland compositor with flexible runtime
85 - Simple and predictable behavior, river should be easy to use and have a
87 - Window management based on a stack of views and tags.
88 - Dynamic layouts generated by external, user-written executables. A
89 default rivertile layout generator is provided.
90 - Scriptable configuration and control through a custom Wayland protocol
91 and separate riverctl binary implementing it.
93 changelog = "https://codeberg.org/river/river/releases/tag/v${finalAttrs.version}";
94 license = lib.licenses.gpl3Plus;
95 maintainers = with lib.maintainers; [
100 mainProgram = "river";
101 platforms = lib.platforms.linux;