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.
		
			
				
	
	
		
			31 lines
		
	
	
		
			668 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			668 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ 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 ];
 | 
						|
  };
 | 
						|
}
 |