feat: add nix support(#80) (#82)

* feat: add nix support(#80)

* chore: nix flake update

* update actions
This commit is contained in:
虢豳
2024-03-16 05:02:18 +08:00
committed by GitHub
parent abf95afb9f
commit 8ff991aefe
9 changed files with 306 additions and 1 deletions

46
nix/default.nix Normal file
View File

@@ -0,0 +1,46 @@
{
rustPlatform,
lib,
pkgs,
}:
rustPlatform.buildRustPackage {
pname = "lan-mouse";
version = "0.6.0";
nativeBuildInputs = with pkgs; [
pkg-config
cmake
buildPackages.gtk4
];
buildInputs = with pkgs; [
xorg.libX11
gtk4
libadwaita
xorg.libXtst
];
src = builtins.path {
name = "lan-mouse";
path = lib.cleanSource ../.;
};
cargoLock.lockFile = ../Cargo.lock;
cargoLock.outputHashes = {
"reis-0.1.0" = "sha256-sRZqm6QdmgqfkTjEENV8erQd+0RL5z1+qjdmY18W3bA=";
};
# Set Environment Variables
RUST_BACKTRACE = "full";
meta = with lib; {
description = "Lan Mouse is a mouse and keyboard sharing software";
longDescription = ''
Lan Mouse is a mouse and keyboard sharing software similar to universal-control on Apple devices. It allows for using multiple pcs with a single set of mouse and keyboard. This is also known as a Software KVM switch.
The primary target is Wayland on Linux but Windows and MacOS and Linux on Xorg have partial support as well (see below for more details).
'';
mainProgram = "lan-mouse";
platforms = platforms.all;
};
}