inputplumber: init at 0.39.2

Changed files
+88
nixos
doc
manual
release-notes
modules
services
hardware
pkgs
by-name
in
inputplumber
+2
nixos/doc/manual/release-notes/rl-2505.section.md
···
- [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).
- [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).
···
- [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).
+1
nixos/modules/module-list.nix
···
./services/hardware/handheld-daemon.nix
./services/hardware/hddfancontrol.nix
./services/hardware/illum.nix
./services/hardware/interception-tools.nix
./services/hardware/iptsd.nix
./services/hardware/irqbalance.nix
···
./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
+37
nixos/modules/services/hardware/inputplumber.nix
···
···
+
{
+
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 ];
+
}
+48
pkgs/by-name/in/inputplumber/package.nix
···
···
+
{
+
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";
+
};
+
}