This PR adds support for ```iio-sensor-proxy``` used by GNOME v3 and others for reading data from the accelerometer, gps, compass and similar sensors built into some relatively recent laptops. Additionally, there is a NixOS module exposed via hardware.sensor.iio for enabling services, udev rules and dbus services.wip/yesman
parent
53a2baabbe
commit
e4d8cb8dab
@ -0,0 +1,30 @@ |
||||
{ config, lib, pkgs, ... }: |
||||
|
||||
with lib; |
||||
|
||||
{ |
||||
###### interface |
||||
|
||||
options = { |
||||
hardware.sensor.iio = { |
||||
enable = mkOption { |
||||
description = "Enable this option to support IIO sensors."; |
||||
type = types.bool; |
||||
default = false; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
###### implementation |
||||
|
||||
config = mkIf config.hardware.sensor.iio.enable { |
||||
|
||||
boot.initrd.availableKernelModules = [ "hid-sensor-hub" ]; |
||||
|
||||
environment.systemPackages = with pkgs; [ iio-sensor-proxy ]; |
||||
|
||||
services.dbus.packages = with pkgs; [ iio-sensor-proxy ]; |
||||
services.udev.packages = with pkgs; [ iio-sensor-proxy ]; |
||||
systemd.packages = with pkgs; [ iio-sensor-proxy ]; |
||||
}; |
||||
} |
@ -0,0 +1,47 @@ |
||||
{ stdenv, fetchFromGitHub, autoconf-archive, gettext, libtool, intltool, autoconf, automake |
||||
, glib, gtk3, gtk_doc, libgudev, pkgconfig, systemd }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
name = "iio-sensor-proxy-${version}"; |
||||
version = "2.2"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "hadess"; |
||||
repo = "iio-sensor-proxy"; |
||||
rev = version; |
||||
sha256 = "1x0whwm2r9g50hq5px0bgsrigy8naihqgi6qm0x5q87jz5lkhrnv"; |
||||
}; |
||||
|
||||
configurePhase = '' |
||||
./autogen.sh --prefix=$out \ |
||||
--with-udevrulesdir=$out/lib/udev/rules.d \ |
||||
--with-systemdsystemunitdir=$out/lib/systemd/system |
||||
''; |
||||
|
||||
buildInputs = [ |
||||
glib |
||||
gtk3 |
||||
gtk_doc |
||||
libgudev |
||||
systemd |
||||
]; |
||||
|
||||
nativeBuildInputs = [ |
||||
autoconf |
||||
autoconf-archive |
||||
automake |
||||
gettext |
||||
intltool |
||||
libtool |
||||
pkgconfig |
||||
]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Proxy for sending IIO sensor data to D-Bus"; |
||||
homepage = https://github.com/hadess/iio-sensor-proxy; |
||||
license = licenses.gpl3 ; |
||||
maintainers = with maintainers; [ peterhoeg ]; |
||||
platforms = platforms.linux; |
||||
inherit version; |
||||
}; |
||||
} |
Loading…
Reference in new issue