iio-sensor-proxy: init at 2.2 and nixos module

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.
This commit is contained in:
Peter Hoeg 2016-07-27 21:37:39 +08:00
parent 53a2baabbe
commit e4d8cb8dab
4 changed files with 80 additions and 0 deletions

View file

@ -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 ];
};
}

View file

@ -29,6 +29,7 @@
./hardware/ckb.nix
./hardware/cpu/amd-microcode.nix
./hardware/cpu/intel-microcode.nix
./hardware/sensor/iio.nix
./hardware/ksm.nix
./hardware/network/b43.nix
./hardware/network/intel-2100bg.nix

View file

@ -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;
};
}

View file

@ -932,6 +932,8 @@ with pkgs;
long-shebang = callPackage ../misc/long-shebang {};
iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { };
mathics = pythonPackages.mathics;
meson = callPackage ../development/tools/build-managers/meson { };