40 lines
1.4 KiB
Nix
40 lines
1.4 KiB
Nix
{ lib, stdenv, fetchFromSourcehut
|
|
, meson, pkg-config, wayland, ninja
|
|
, cairo, libinput, pango, wayland-protocols, libxkbcommon
|
|
}:
|
|
|
|
let
|
|
version = "2020-03-29";
|
|
commit = "6388a49e0f431d6d5fcbd152b8ae4fa8e87884ee";
|
|
in stdenv.mkDerivation rec {
|
|
pname = "wshowkeys-unstable";
|
|
inherit version;
|
|
|
|
src = fetchFromSourcehut {
|
|
owner = "~sircmpwn";
|
|
repo = "wshowkeys";
|
|
rev = commit;
|
|
sha256 = "10kafdja5cwbypspwhvaxjz3hvf51vqjzbgdasl977193cvxgmbs";
|
|
};
|
|
|
|
nativeBuildInputs = [ meson pkg-config wayland ninja ];
|
|
buildInputs = [ cairo libinput pango wayland-protocols libxkbcommon ];
|
|
|
|
meta = with lib; {
|
|
description = "Displays keys being pressed on a Wayland session";
|
|
longDescription = ''
|
|
Displays keypresses on screen on supported Wayland compositors (requires
|
|
wlr_layer_shell_v1 support).
|
|
Note: This tool requires root permissions to read input events, but these
|
|
permissions are dropped after startup. The NixOS module provides such a
|
|
setuid binary (use "programs.wshowkeys.enable = true;").
|
|
'';
|
|
homepage = "https://git.sr.ht/~sircmpwn/wshowkeys";
|
|
license = with licenses; [ gpl3Only mit ];
|
|
# Some portions of the code are taken from Sway which is MIT licensed.
|
|
# TODO: gpl3Only or gpl3Plus (ask upstream)?
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ primeos berbiche ];
|
|
};
|
|
}
|