diff options
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/window-managers/cage/default.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix new file mode 100644 index 000000000000..be45d68dc5df --- /dev/null +++ b/pkgs/applications/window-managers/cage/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub +, meson, ninja, pkgconfig, makeWrapper +, wlroots, wayland, wayland-protocols, pixman, libxkbcommon +, systemd, mesa, libX11 +, xwayland ? null +}: + +stdenv.mkDerivation rec { + pname = "cage"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "Hjdskes"; + repo = pname; + rev = "v${version}"; + sha256 = "1vp4mfkflrjmlgyx5mkbzdi3iq58m76q7l9dfrsk85xn0642d6q1"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig makeWrapper ]; + + buildInputs = [ + wlroots wayland wayland-protocols pixman libxkbcommon + # TODO: Not specified but required: + systemd mesa libX11 + ]; + + enableParallelBuilding = true; + + mesonFlags = [ "-Dxwayland=${stdenv.lib.boolToString (xwayland != null)}" ]; + + postFixup = stdenv.lib.optionalString (xwayland != null) '' + wrapProgram $out/bin/cage --prefix PATH : "${xwayland}/bin" + ''; + + meta = with stdenv.lib; { + description = "A Wayland kiosk"; + homepage = https://www.hjdskes.nl/projects/cage/; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} |