Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

106 lines
2.1 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
cmake,
withLibei ? !stdenv.hostPlatform.isDarwin,
avahi,
curl,
libICE,
libSM,
libX11,
libXdmcp,
libXext,
libXinerama,
libXrandr,
libXtst,
libei,
libportal,
openssl,
pkgsStatic,
pkg-config,
qtbase,
qttools,
wrapGAppsHook3,
wrapQtAppsHook,
}:
stdenv.mkDerivation rec {
pname = "input-leap";
version = "3.0.3";
src = fetchFromGitHub {
owner = "input-leap";
repo = "input-leap";
rev = "v${version}";
hash = "sha256-zSaeeMlhpWIX3y4OmZ7eHXCu1HPP7NU5HFkME/JZjuQ=";
fetchSubmodules = true;
};
patches = [ ./macos-no-dmg.patch ];
nativeBuildInputs = [
pkg-config
cmake
wrapGAppsHook3
wrapQtAppsHook
qttools
];
buildInputs = [
curl
qtbase
avahi
libX11
libXext
libXtst
libXinerama
libXrandr
libXdmcp
libICE
libSM
]
++ lib.optionals withLibei [
libei
libportal
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
pkgsStatic.openssl
];
cmakeFlags = [
"-DINPUTLEAP_REVISION=${builtins.substring 0 8 src.rev}"
]
++ lib.optional withLibei "-DINPUTLEAP_BUILD_LIBEI=ON";
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
--prefix PATH : "${lib.makeBinPath [ openssl ]}"
)
'';
meta = {
description = "Open-source KVM software";
longDescription = ''
Input Leap is software that mimics the functionality of a KVM switch, which historically
would allow you to use a single keyboard and mouse to control multiple computers by
physically turning a dial on the box to switch the machine you're controlling at any
given moment. Input Leap does this in software, allowing you to tell it which machine
to control by moving your mouse to the edge of the screen, or by using a keypress
to switch focus to a different system.
'';
homepage = "https://github.com/input-leap/input-leap";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
phryneas
twey
shymega
];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}