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