add input-leap

This commit is contained in:
tristan 2023-05-17 09:21:27 +01:00
parent 9ce692cb5f
commit a4e239898c
2 changed files with 65 additions and 1 deletions

View file

@ -0,0 +1,57 @@
{ lib, fetchFromGitHub, cmake, curl, xorg, avahi, stdenv, pkgs,
openssl, wrapGAppsHook,
avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; },
fetchpatch
}:
stdenv.mkDerivation rec {
pname = "barrier";
version = "2.4.0";
src = fetchFromGitHub {
owner = "input-leap";
repo = "input-leap";
rev = "v${version}";
sha256 = "sha256-2tHqLF3zS3C4UnOVIZfpcuzaemC9++nC7lXgFnFSfKU=";
fetchSubmodules = true;
};
patches = [
# This patch can be removed when a new version of barrier (greater than 2.4.0)
# is released, which will contain this commit.
(fetchpatch {
name = "add-missing-cstddef-header.patch";
url = "https://github.com/debauchee/barrier/commit/4b12265ae5d324b942698a3177e1d8b1749414d7.patch";
sha256 = "sha256-ajMxP7szBFi4h8cMT3qswfa3k/QiJ1FGI3q9fkCFQQk=";
})
];
buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat pkgs.libsForQt5.qt5.qtbase ];
nativeBuildInputs = [ cmake wrapGAppsHook pkgs.libsForQt5.qt5.wrapQtAppsHook ];
postFixup = ''
substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier"
'';
qtWrapperArgs = [
''--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";
downloadPage = "https://github.com/input-leap/input-leap/releases";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.phryneas ];
platforms = lib.platforms.linux;
};
}

View file

@ -20,6 +20,7 @@ let
gawk = "${pkgs.gawk}/bin/awk"; gawk = "${pkgs.gawk}/bin/awk";
}; };
lf-sixel = pkgs.callPackage ../../custom/lf-sixel/. { }; lf-sixel = pkgs.callPackage ../../custom/lf-sixel/. { };
input-leap = pkgs.callPackage ../../custom/input-leap/. { };
in in
{ {
programs.home-manager.enable = true; programs.home-manager.enable = true;
@ -38,10 +39,12 @@ in
imv imv
libsixel libsixel
lf-sixel lf-sixel
input-leap
yt-dlp yt-dlp
playerctl playerctl
swww swww
neofetch neofetch
obs-studio
inkscape inkscape
libsForQt5.okular libsForQt5.okular
@ -519,7 +522,7 @@ in
}; };
} }
{ {
name = "typescript"; name = "tsx";
auto-format = true; auto-format = true;
language-server = { language-server = {
command = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server"; command = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server";
@ -867,6 +870,10 @@ color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-
command = "${pkgs.rnix-lsp}/bin/rnix-lsp"; command = "${pkgs.rnix-lsp}/bin/rnix-lsp";
filetypes = [ "nix" ]; filetypes = [ "nix" ];
}; };
typescript = {
command = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server";
filetypes = [ "ts" "tsx" ];
};
}; };
}; };
}; };