wvkbd-mk: init

This commit is contained in:
Colin 2024-03-08 01:06:13 +00:00
parent 27c12edec0
commit cb1c76a0db
2 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,62 @@
{ 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";
};
}

View File

@ -70,6 +70,7 @@ let
tow-boot-pinephone = callPackage ./additional/tow-boot-pinephone { };
tree-sitter-nix-shell = callPackage ./additional/tree-sitter-nix-shell { };
trivial-builders = lib.recurseIntoAttrs (callPackage ./additional/trivial-builders { });
wvkbd-mk = callPackage ./additional/wvkbd-mk { };
inherit (trivial-builders)
copyIntoOwnPackage
linkIntoOwnPackage