about summary refs log tree commit diff
path: root/pkgs/applications/window-managers/river/default.nix
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2021-05-01 00:45:20 -0300
committerAndersonTorres <torres.anderson.85@protonmail.com>2021-05-01 00:45:20 -0300
commite1a8c80e92b2424b9aed0f423ffd8741673a9bc7 (patch)
tree7d38c9ab2e7c80e69e31a5684a3d57bfa3b97a9c /pkgs/applications/window-managers/river/default.nix
parent070f37edd656c82accb8ced82fbdcf0b334f820a (diff)
river: refactor
Diffstat (limited to 'pkgs/applications/window-managers/river/default.nix')
-rw-r--r--pkgs/applications/window-managers/river/default.nix73
1 files changed, 57 insertions, 16 deletions
diff --git a/pkgs/applications/window-managers/river/default.nix b/pkgs/applications/window-managers/river/default.nix
index 9b40d34b6f24e..d6869b4786f1c 100644
--- a/pkgs/applications/window-managers/river/default.nix
+++ b/pkgs/applications/window-managers/river/default.nix
@@ -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
+  ];
+
+  dontConfigure = true;
 
-  preBuild = ''
+  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 ];
   };
 }