anchor.diff:          '';
       })
   
  -    (mkIf config.hardware.trackpoint.emulateWheel {
  -      services.xserver.config =
  -        ''
  -          Section "InputClass"
  -            Identifier "Trackpoint Wheel Emulation"
  -            MatchProduct "Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
  -            MatchDevicePath "/dev/input/event*"
  -            Option "EmulateWheel" "true"
  -            Option "EmulateWheelButton" "2"
  -            Option "Emulate3Buttons" "false"
  -            Option "XAxisMapping" "6 7"
  -            Option "YAxisMapping" "4 5"
  -            EndSection
  -        '';
  +    (mkIf (cfg.emulateWheel) {
  +      services.xserver.inputClassSections =
  +        [''
  +        Identifier "Trackpoint Wheel Emulation"
  +          MatchProduct "${if cfg.fakeButtons then "PS/2 Generic Mouse" else "Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"}"
  +          MatchDevicePath "/dev/input/event*"
  +          Option "EmulateWheel" "true"
  +          Option "EmulateWheelButton" "2"
  +          Option "Emulate3Buttons" "false"
  +          Option "XAxisMapping" "6 7"
  +          Option "YAxisMapping" "4 5"
  +        ''];
  +    })
  +
  +    (mkIf cfg.fakeButtons {
  +      boot.extraModprobeConfig = "options psmouse proto=bare";
       })
     ];
   }
  
positive.code:         '';
        };
  
      };
  
    };
  
negative.code: 
    ###### implementation
  
    config =
    let cfg = config.hardware.trackpoint; in
    mkMerge [
      (mkIf cfg.enable {
        services.udev.extraRules =
        ''
          ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString cfg.speed}", ATTR{device/sensitivity}="${toString cfg.sensitivity}"
        '';
  
        system.activationScripts.trackpoint =
  