diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 69e09208534..b2ff84e0a5e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -8751,6 +8751,12 @@ githubId = 1040871; name = "Mathis Antony"; }; + svend = { + email = "svend@svends.net"; + github = "svend"; + githubId = 306190; + name = "Svend Sorensen"; + }; svrana = { email = "shaw@vranix.com"; github = "svrana"; diff --git a/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix b/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix new file mode 100644 index 00000000000..730135e4a7d --- /dev/null +++ b/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix @@ -0,0 +1,32 @@ +{ stdenv, lib, fetchFromGitLab, pkg-config, libyamlcpp, libevdev }: + +stdenv.mkDerivation rec { + pname = "dual-function-keys"; + version = "1.1.0"; + + src = fetchFromGitLab { + owner = "interception/linux/plugins"; + repo = pname; + rev = version; + sha256 = "07hksca4g7v4zsvhmhc9j725j3n63fzrkx9sb4a0wrd7rwgr25rz"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libevdev libyamlcpp ]; + + prePatch = '' + substituteInPlace config.mk --replace \ + '/usr/include/libevdev-1.0' \ + "$(pkg-config --cflags libevdev | cut -c 3-)" + ''; + + installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + + meta = with lib; { + homepage = "https://gitlab.com/interception/linux/plugins/dual-function-keys"; + description = "Tap for one key, hold for another."; + license = licenses.mit; + maintainers = with maintainers; [ svend ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42fdf1eb380..3a9c0024632 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3211,6 +3211,7 @@ in interception-tools = callPackage ../tools/inputmethods/interception-tools { }; interception-tools-plugins = { caps2esc = callPackage ../tools/inputmethods/interception-tools/caps2esc.nix { }; + dual-function-keys = callPackage ../tools/inputmethods/interception-tools/dual-function-keys.nix { }; }; age = callPackage ../tools/security/age { };