Merge pull request #135284 from legendofmiracles/weylus

This commit is contained in:
Sandro
2021-09-21 22:04:38 +02:00
committed by GitHub
4 changed files with 108 additions and 0 deletions
+1
View File
@@ -202,6 +202,7 @@
./programs/vim.nix
./programs/wavemon.nix
./programs/waybar.nix
./programs/weylus.nix
./programs/wireshark.nix
./programs/wshowkeys.nix
./programs/xfs_quota.nix
+47
View File
@@ -0,0 +1,47 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.weylus;
in
{
options.programs.weylus = with types; {
enable = mkEnableOption "weylus";
openFirewall = mkOption {
type = bool;
default = false;
description = ''
Open ports needed for the functionality of the program.
'';
};
users = mkOption {
type = listOf str;
default = [ ];
description = ''
To enable stylus and multi-touch support, the user you're going to use must be added to this list.
These users can synthesize input events system-wide, even when another user is logged in - untrusted users should not be added.
'';
};
package = mkOption {
type = package;
default = pkgs.weylus;
defaultText = "pkgs.weylus";
description = "Weylus package to install.";
};
};
config = mkIf cfg.enable {
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 1701 9001 ];
};
hardware.uinput.enable = true;
users.groups.uinput.members = cfg.users;
environment.systemPackages = [ cfg.package ];
};
}
@@ -0,0 +1,58 @@
{ lib
, dbus
, stdenv
, gst_all_1
, xorg
, libdrm
, libva
, fetchzip
, copyDesktopItems
, fontconfig
, libpng
, autoPatchelfHook
}:
stdenv.mkDerivation rec {
pname = "weylus";
version = "0.11.2";
src = fetchzip {
url = "https://github.com/H-M-H/Weylus/releases/download/v${version}/linux.zip";
sha256 = "sha256-coA8qUpUgRjVBF/0LZgimx61fTTpdck/AO6e+r2uNu0=";
stripRoot = false;
};
installPhase = ''
runHook preInstall
install -Dm755 ./weylus $out/bin/weylus
copyDesktopItems ./weylus.desktop
runHook postInstall
'';
buildInputs = [
libpng
dbus
libdrm
fontconfig
libva
gst_all_1.gst-plugins-base
# autoPatchelfHook complains if these are missing, even on wayland
xorg.libXft
xorg.libXinerama
xorg.libXcursor
xorg.libXrandr
xorg.libXcomposite
xorg.libXtst
];
nativeBuildInputs = [ copyDesktopItems autoPatchelfHook ];
meta = with lib; {
description = "Use your tablet as graphic tablet/touch screen on your computer";
homepage = "https://github.com/H-M-H/Weylus";
license = with licenses; [ agpl3Only ];
maintainers = with maintainers; [ legendofmiracles ];
};
}
+2
View File
@@ -906,6 +906,8 @@ with pkgs;
weidu = callPackage ../tools/games/weidu { };
weylus = callPackage ../applications/graphics/weylus { };
gfshare = callPackage ../tools/security/gfshare { };
gobgp = callPackage ../tools/networking/gobgp { };