diff options
author | Adam Stephens <adam@valkor.net> | 2024-05-20 23:42:05 -0400 |
---|---|---|
committer | Adam Stephens <adam@valkor.net> | 2024-05-20 23:42:05 -0400 |
commit | ee643da233c2e3f4a5cea4f25ee788069df3e436 (patch) | |
tree | 5ed38019c0618453464f8ea3a339546adfb72c70 /pkgs/by-name/ri | |
parent | 5bd7f13726515d0623694b9aa1104b9d9330259c (diff) |
river: move to by-name
Diffstat (limited to 'pkgs/by-name/ri')
-rw-r--r-- | pkgs/by-name/ri/river/package.nix | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/by-name/ri/river/package.nix b/pkgs/by-name/ri/river/package.nix new file mode 100644 index 0000000000000..698d785a1911e --- /dev/null +++ b/pkgs/by-name/ri/river/package.nix @@ -0,0 +1,93 @@ +{ lib +, stdenv +, fetchFromGitea +, libGL +, libX11 +, libevdev +, libinput +, libxkbcommon +, pixman +, pkg-config +, scdoc +, udev +, wayland +, wayland-protocols +, wlroots_0_17 +, xwayland +, zig_0_11 +, withManpages ? true +, xwaylandSupport ? true +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "river"; + version = "0.3.1"; + + outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ]; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "river"; + repo = "river"; + rev = "refs/tags/v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-H/908/TP2uzJD1yH4mCXHvorY+4kAhzEkWn6nZGsyBg="; + }; + + nativeBuildInputs = [ + pkg-config + wayland + xwayland + zig_0_11.hook + ] + ++ lib.optional withManpages scdoc; + + buildInputs = [ + libGL + libevdev + libinput + libxkbcommon + pixman + udev + wayland-protocols + wlroots_0_17 + ] ++ lib.optional xwaylandSupport libX11; + + dontConfigure = true; + + zigBuildFlags = lib.optional withManpages "-Dman-pages" + ++ lib.optional xwaylandSupport "-Dxwayland"; + + postInstall = '' + install contrib/river.desktop -Dt $out/share/wayland-sessions + ''; + + passthru.providedSessions = [ "river" ]; + + meta = { + homepage = "https://codeberg.org/river/river"; + description = "A dynamic tiling wayland compositor"; + longDescription = '' + River is a dynamic tiling Wayland compositor with flexible runtime + configuration. + + Its design goals are: + - Simple and predictable behavior, river should be easy to use and have a + low cognitive load. + - Window management based on a stack of views and tags. + - Dynamic layouts generated by external, user-written executables. A + default rivertile layout generator is provided. + - Scriptable configuration and control through a custom Wayland protocol + and separate riverctl binary implementing it. + ''; + changelog = "https://codeberg.org/river/river/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + adamcstephens + moni + rodrgz + ]; + mainProgram = "river"; + platforms = lib.platforms.linux; + }; +}) |