1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-20 16:39:31 +03:00

inputplumber: init at 0.39.2

This commit is contained in:
William Edwards 2024-11-03 11:49:05 -08:00
parent 08c8596555
commit 11d10df01a
4 changed files with 88 additions and 0 deletions

View file

@ -50,6 +50,8 @@
- [nvidia-gpu](https://github.com/utkuozdemir/nvidia_gpu_exporter), a Prometheus exporter that scrapes `nvidia-smi` for GPU metrics. Available as [services.prometheus.exporters.nvidia-gpu](#opt-services.prometheus.exporters.nvidia-gpu.enable).
- [InputPlumber](https://github.com/ShadowBlip/InputPlumber/), an open source input router and remapper daemon for Linux. Available as [services.inputplumber](#opt-services.inputplumber.enable).
- [Buffyboard](https://gitlab.postmarketos.org/postmarketOS/buffybox/-/tree/master/buffyboard), a framebuffer on-screen keyboard. Available as [services.buffyboard](option.html#opt-services.buffyboard).
- [KanBoard](https://github.com/kanboard/kanboard), a project management tool that focuses on the Kanban methodology. Available as [services.kanboard](#opt-services.kanboard.enable).

View file

@ -604,6 +604,7 @@
./services/hardware/handheld-daemon.nix
./services/hardware/hddfancontrol.nix
./services/hardware/illum.nix
./services/hardware/inputplumber.nix
./services/hardware/interception-tools.nix
./services/hardware/iptsd.nix
./services/hardware/irqbalance.nix

View file

@ -0,0 +1,37 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.inputplumber;
in
{
options.services.inputplumber = {
enable = lib.mkEnableOption "InputPlumber";
package = lib.mkPackageOption pkgs "inputplumber" { };
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.services.inputplumber = {
description = "InputPlumber Service";
wantedBy = [ "multi-user.target" ];
environment = {
XDG_DATA_DIRS = "/run/current-system/sw/share";
};
restartIfChanged = true;
serviceConfig = {
ExecStart = "${lib.getExe cfg.package}";
Restart = "on-failure";
RestartSec = "5";
};
};
};
meta.maintainers = with lib.maintainers; [ shadowapex ];
}

View file

@ -0,0 +1,48 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
udev,
libiio,
libevdev,
}:
rustPlatform.buildRustPackage rec {
pname = "inputplumber";
version = "0.39.2";
src = fetchFromGitHub {
owner = "ShadowBlip";
repo = "InputPlumber";
rev = "refs/tags/v${version}";
hash = "sha256-Glq7iJ1AHy99AGXYg5P3wAd3kAMJnt5P2vZzyn7qBY4=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-pcbW/Od5f+hFCrVpH2yioq+qCmlZ1m3TbUc6rBkYCEs=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
udev
libevdev
libiio
];
postInstall = ''
cp -r rootfs/usr/* $out/
'';
meta = {
description = "Open source input router and remapper daemon for Linux";
homepage = "https://github.com/ShadowBlip/InputPlumber";
license = lib.licenses.gpl3Plus;
changelog = "https://github.com/ShadowBlip/InputPlumber/releases/tag/v${version}";
maintainers = with lib.maintainers; [ shadowapex ];
mainProgram = "inputplumber";
};
}