river: refactor

This commit is contained in:
AndersonTorres 2021-05-01 00:45:20 -03:00
parent 070f37edd6
commit e1a8c80e92

@ -1,7 +1,19 @@
{ lib, stdenv ,fetchFromGitHub
, zig, wayland, pkg-config, scdoc
, xwayland, wayland-protocols, wlroots
, libxkbcommon, pixman, udev, libevdev, libX11, libGL
{ lib
, stdenv
, fetchFromGitHub
, libGL
, libX11
, libevdev
, libxkbcommon
, pixman
, pkg-config
, scdoc
, udev
, wayland
, wayland-protocols
, wlroots
, xwayland
, zig
}:
stdenv.mkDerivation rec {
@ -12,33 +24,62 @@ stdenv.mkDerivation rec {
owner = "ifreund";
repo = pname;
rev = "0c8e718d95a6a621b9cba0caa9158915e567b076";
sha256 = "1jjh0dzxi7hy4mg8vag6ipfwb9qxm5lfc07njp1mx6m81nq76ybk";
sha256 = "sha256-c3lzsA2oml7DlfYA5mipHafF3Y3mqY1eJR6e2H8DUMo=";
fetchSubmodules = true;
};
buildInputs = [ xwayland wayland-protocols wlroots pixman
libxkbcommon pixman udev libevdev libX11 libGL
nativeBuildInputs = [
pkg-config
scdoc
wayland-protocols
zig
];
buildInputs = [
libGL
libX11
libevdev
libxkbcommon
pixman
pixman
udev
wayland
wlroots
xwayland
];
preBuild = ''
dontConfigure = true;
buildPhase = ''
runHook preBuild
export HOME=$TMPDIR
zig build -Dman-pages -Drelease-safe -Dxwayland --prefix $out
runHook postBuild
'';
installPhase = ''
zig build -Drelease-safe -Dxwayland -Dman-pages --prefix $out install
runHook preInstall
zig build -Dman-pages -Drelease-safe -Dxwayland --prefix $out install
runHook postInstall
'';
nativeBuildInputs = [ zig wayland scdoc pkg-config ];
installFlags = [ "DESTDIR=$(out)" ];
meta = with lib; {
homepage = "https://github.com/ifreund/river";
description = "A dynamic tiling wayland compositor";
longDescription = ''
river is a dynamic tiling wayland compositor that takes inspiration from dwm and bspwm.
river is a dynamic tiling wayland compositor that takes inspiration from
dwm and bspwm.
Its design goals are:
- Simplicity and minimalism, river should not overstep the bounds of a
window manager.
- 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.
'';
homepage = "https://github.com/ifreund/river";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ branwright1 AndersonTorres ];
platforms = platforms.linux;
maintainers = with maintainers; [ branwright1 ];
};
}