Newer ThinkPads have a new name for the Trackpoint - "TPPS/2 Elan TrackPoint".
Having the "[...] IBM Trackpoint" as default caused some weird
side-effects on my machine (e.g. stopped the trackpoint working after a
suspend) with the wrong name. Although this is mentioned in the option's
description[1], I think that this should be declared explicitly here.
As soon, as we supported newer models as well[2], we should probably
move this into its own common profile.
[1] https://nixos.org/nixos/options.html#hardware.trackpoint.device
[2] https://certification.ubuntu.com/catalog/component/input/5313/input%3ATPPS/2ElanTrackPoint/
Most trackpoint users I know use the middle-button to have some
scrolling functionality. So I think that for ThinkPads at least we
should have this enabled by default if the trackpoint shall be used.
With UEFI >= 1.30, there's an explicit option to enable S3 power management.
Once this is selected, S3 is enabled and "deep" is selected as the default
/sys/power/mem_sleep value without requiring any kernel boot parameters.
This adds basic support for the Thinkpad T440s, based on the work done for the T440p. The expression enables:
- microcode updates
- trackpoint support
- kernel module for battery level management
I've tested this to work on MacBookAir4,1 and I'm going to deploy it
to MacBookAir6,2 today and Lenovo ThinkPad X230 in a week from now.
Also, cleaned up Lenovo ThinkPad X230 profile.
tlp does the same thing, but dynamically, depending on whether power
adapter is connected. It is also much more portable than this script.
Direct replacement would be `powerManagement.powertop.enable`.
Enforce proper naming: all paths are lowercase and hyphen-separated,
if there's a line of models (aspire, macbook-pro, thinkpad) it becomes
a subdirectory. Documentation for profiles is moved to README files in
respective directories.
Add an Org mode table that lists all available profiles and their paths.
Instead of fetching repo locally, use a Nix channel. Making hardware
profiles read-only should improve quality and amount of participation
long-term.
hardware-configuration.nix is still relied upon for hard drive
configuration, and it handles variations of hardware (custom
configurations, subrevisions).
* hardware.trackpoint.emulateWheel = true; is very biased, this module
is only for ThinkPads anyway, so default value should be used
* All options that should be overridable (e.g. services.tlp.enable)
* Hardware profile should not pull in stuff into system environment
unless it's hardware-specific (pkgs.acpi is not)
* sound.mediaKeys clashes with DE, e.g. Xfce handling sound keys
* Drop redundant synaptics.enable = false;
The x1xx series relies on a AMD CPU, but all other (currently supported)
ThinkPads use an Intel CPU, so `general-intel.nix` is responsible
for all Intel defaults.
Here's a patch that shows how to add support for
- TrackPoint
- (alternatively) better touchpad support
- volume/mute buttons
- active hard-drive protection
- fingerprint reader
I've been using these options for a couple of days on a non-tablet X220i. See https://github.com/dancek/dotfiles/blob/master/nixos/thinkpad-x220i/configuration.nix