Merge pull request #135284 from legendofmiracles/weylus
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user