nix-config/modules/nixos/hardware/trackball/default.nix
Bruno BELANYI 7948dc284b
All checks were successful
ci/woodpecker/push/check Pipeline was successful
nixos: hardware: rename 'trackball'
Since I do intend on configuring every trackball I own to use this
scheme, not just the MX Ergo.
2024-02-06 15:08:19 +00:00

28 lines
765 B
Nix

# Hold down the `next page` button to scroll using the ball
{ config, lib, ... }:
let
cfg = config.my.hardware.trackball;
in
{
options.my.hardware.trackball = with lib; {
enable = mkEnableOption "trackball configuration";
};
config = lib.mkIf cfg.enable {
services.xserver = {
# This section must be *after* the one configured by `libinput`
# for the `ScrollMethod` configuration to not be overriden
inputClassSections = lib.mkAfter [
# MX Ergo
''
Identifier "MX Ergo scroll button configuration"
MatchProduct "MX Ergo"
MatchIsPointer "on"
Option "ScrollMethod" "button"
Option "ScrollButton" "9"
''
];
};
};
}