nix-files/pkgs/additional/wvkbd-mk/default.nix
2024-03-08 01:06:13 +00:00

63 lines
1.4 KiB
Nix

{ stdenv
, lib
, fetchFromGitHub
, wayland-scanner
, wayland
, pango
, glib
, harfbuzz
, cairo
, pkg-config
, libxkbcommon
}:
stdenv.mkDerivation rec {
pname = "wvkbd-mk";
version = "unstable-2024-01-01";
src = fetchFromGitHub {
owner = "federvieh";
repo = "wvkbd";
rev = "bf310be0509b8d217670ef8780765517726a4228";
hash = "sha256-xZ9HG0nwmLvHhwwXfnIO3UIzE0til54sNZ2aV6MEIuo=";
};
# tell it where to find pkg-config when cross-compiling:
postPatch = ''
substituteInPlace Makefile \
--replace-fail "pkg-config" "$PKG_CONFIG"
'';
nativeBuildInputs = [
pkg-config
wayland-scanner
];
buildInputs = [
cairo
glib
harfbuzz
libxkbcommon
pango
wayland
];
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
homepage = "https://github.com/federvieh/wvkbd";
description = "On-screen keyboard for wlroots optimized for one finger input";
longDescription = ''
wvkbd-mk is optimized for single finger input and is quite a different
from other keyboards. It uses a 3 by 3 grid for the main input. Keys are
pressed by tapping or swiping the grid.
N.B.: invoke as `wvkbd-anihortes --motion-keys` or else it behaves like
stock `wvkbd` with a funny layout.
'';
maintainers = [ maintainers.colinsane ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
mainProgram = "wvkbd-anihortes";
};
}