67 lines
1.3 KiB
Nix
67 lines
1.3 KiB
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
|
||
|
{
|
||
|
###### interface
|
||
|
|
||
|
options = {
|
||
|
|
||
|
hardware.trackpoint = {
|
||
|
|
||
|
enable = mkOption {
|
||
|
default = false;
|
||
|
type = types.bool;
|
||
|
description = ''
|
||
|
Enable sensitivity and speed configuration for trackpoints.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
sensitivity = mkOption {
|
||
|
default = 128;
|
||
|
example = 255;
|
||
|
type = types.int;
|
||
|
description = ''
|
||
|
Configure the trackpoint sensitivity. By default, the kernel
|
||
|
configures 128.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
speed = mkOption {
|
||
|
default = 97;
|
||
|
example = 255;
|
||
|
type = types.int;
|
||
|
description = ''
|
||
|
Configure the trackpoint sensitivity. By default, the kernel
|
||
|
configures 97.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
###### implementation
|
||
|
|
||
|
config = mkIf config.hardware.trackpoint.enable {
|
||
|
|
||
|
jobs.trackpoint =
|
||
|
{ description = "Initialize trackpoint";
|
||
|
|
||
|
startOn = "started udev";
|
||
|
|
||
|
task = true;
|
||
|
|
||
|
script = ''
|
||
|
echo -n ${toString config.hardware.trackpoint.sensitivity} \
|
||
|
> /sys/devices/platform/i8042/serio1/sensitivity
|
||
|
echo -n ${toString config.hardware.trackpoint.speed} \
|
||
|
> /sys/devices/platform/i8042/serio1/speed
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|