bb846f8ed9
Reviewed on a Dell XPS 13 Developer Edition 9350. No Skylake-specific configuration is necessary: - RC6 sleep is automatically detected configured by default, and `i915.enable_rc6` no longer exists. - Frame buffer compression (FBC) is automatically detected and enabled by default, so `i915.enable_fbc` is unnecessary. - Panel self refresh (PSR) is automatically detected and enabled by default, so `i915.enable_psr` is unnecessary. Wireless card detection log: iwlwifi 0000:3a:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x204 Touchpad detection log: psmouse serio1: synaptics: queried max coordinates: x [..5666], y [..4734] psmouse serio1: synaptics: queried min coordinates: x [1276..], y [1118..] psmouse serio1: synaptics: Your touchpad (PNP: DLL0704 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org. psmouse serio1: synaptics: Advanced gesture mode init failed: -5 psmouse serio1: synaptics: Unable to initialize device. input: DLL0704:01 06CB:76AE Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DLL0704:01/0018:06CB:76AE.0004/input/input26 input: DLL0704:01 06CB:76AE Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DLL0704:01/0018:06CB:76AE.0004/input/input27 hid-multitouch 0018:06CB:76AE.0004: input,hidraw3: I2C HID v1.00 Mouse [DLL0704:01 06CB:76AE] on i2c-DLL0704:01 psmouse serio1: Failed to enable mouse on isa0060/serio1 i915 debug log: i915 device info: pciid=0x1926 rev=0x0a platform=SKYLAKE (subplatform=0x1) gen=9 i915 device info: graphics version: 9 i915 device info: media version: 9 i915 device info: display version: 9 i915 device info: gt: 3 i915 device info: iommu: disabled i915 device info: memory-regions: 5 i915 device info: page-sizes: 11000 i915 device info: platform: SKYLAKE i915 device info: ppgtt-size: 48 i915 device info: ppgtt-type: 2 i915 device info: dma_mask_size: 39 i915 device info: is_mobile: no i915 device info: is_lp: no i915 device info: require_force_probe: no i915 device info: is_dgfx: no i915 device info: has_64bit_reloc: yes i915 device info: gpu_reset_clobbers_display: no i915 device info: has_reset_engine: yes i915 device info: has_global_mocs: no i915 device info: has_gt_uc: yes i915 device info: has_l3_dpf: no i915 device info: has_llc: yes i915 device info: has_logical_ring_contexts: yes i915 device info: has_logical_ring_elsq: no i915 device info: has_mslices: no i915 device info: has_pooled_eu: no i915 device info: has_rc6: yes i915 device info: has_rc6p: no i915 device info: has_rps: yes i915 device info: has_runtime_pm: yes i915 device info: has_snoop: no i915 device info: has_coherent_ggtt: yes i915 device info: unfenced_needs_alignment: no i915 device info: hws_needs_physical: no i915 device info: cursor_needs_physical: no i915 device info: has_cdclk_crawl: no i915 device info: has_dmc: yes i915 device info: has_ddi: yes i915 device info: has_dp_mst: yes i915 device info: has_dsb: no i915 device info: has_dsc: no i915 device info: has_fbc: yes i915 device info: has_fpga_dbg: yes i915 device info: has_gmch: no i915 device info: has_hdcp: yes i915 device info: has_hotplug: yes i915 device info: has_hti: no i915 device info: has_ipc: yes i915 device info: has_modular_fia: no i915 device info: has_overlay: no i915 device info: has_psr: yes i915 device info: has_psr_hw_tracking: yes i915 device info: overlay_needs_physical: no i915 device info: supports_tv: no i915 device info: rawclk rate: 24000 kHz i915 device info: available engines: 40f i915 device info: slice total: 2, mask=0003 i915 device info: subslice total: 6 i915 device info: slice0: 3 subslices, mask=00000007 i915 device info: slice1: 3 subslices, mask=00000007 i915 device info: slice2: 0 subslices, mask=00000000 i915 device info: EU total: 48 i915 device info: EU per subslice: 8 i915 device info: has slice power gating: yes i915 device info: has subslice power gating: no i915 device info: has EU power gating: yes
17 KiB
17 KiB
NixOS profiles to optimize settings for different hardware.
Setup
Using channels
Add and update nixos-hardware
channel:
$ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
$ sudo nix-channel --update
Then import an appropriate profile path from the table below. For example, to
enable ThinkPad X220 profile, your imports
in /etc/nixos/configuration.nix
should look like:
imports = [
<nixos-hardware/lenovo/thinkpad/x220>
./hardware-configuration.nix
];
New updates to the expressions here will be fetched when you update the channel.
Using nix flakes support
There is also experimental flake support. In your /etc/nixos/flake.nix
add the following:
{
description = "NixOS configuration with flakes";
inputs.nixos-hardware.url = github:NixOS/nixos-hardware/master;
outputs = { self, nixpkgs, nixos-hardware }: {
# replace <your-hostname> with your actual hostname
nixosConfigurations.<your-hostname> = nixpkgs.lib.nixosSystem {
# ...
modules = [
# ...
# add your model from this list: https://github.com/NixOS/nixos-hardware/blob/master/flake.nix
nixos-hardware.nixosModules.dell-xps-13-9380
];
};
};
}
Using fetchGit
You can fetch the git repository directly:
imports = [
"${builtins.fetchGit { url = "https://github.com/NixOS/nixos-hardware.git"; }}/lenovo/thinkpad/x220"
];
Unlike the channel, this will update the git repository on a rebuild. However, you can easily pin to a particular revision if you desire more stability.
List of Profiles
See code for all available configurations.
Model | Path |
---|---|
Acer Aspire 4810T | <nixos-hardware/acer/aspire/4810t> |
Airis N990 | <nixos-hardware/airis/n990> |
Apple MacBook Air 3,X | <nixos-hardware/apple/macbook-air/3> |
Apple MacBook Air 4,X | <nixos-hardware/apple/macbook-air/4> |
Apple MacBook Air 6,X | <nixos-hardware/apple/macbook-air/6> |
Apple MacBook Pro 10,1 | <nixos-hardware/apple/macbook-pro/10-1> |
Apple MacBook Pro 12,1 | <nixos-hardware/apple/macbook-pro/12-1> |
Asus ROG Strix G733QS | <nixos-hardware/asus/rog-strix/g733qs> |
Asus ROG Zephyrus G14 GA401 | <nixos-hardware/asus/zephyrus/ga401> |
Asus ROG Zephyrus G15 GA503 | <nixos-hardware/asus/zephyrus/ga503> |
Asus TUF FX504GD | <nixos-hardware/asus/fx504gd> |
BeagleBoard PocketBeagle | <nixos-hardware/beagleboard/pocketbeagle> |
Dell G3 3779 | <nixos-hardware/dell/g3/3779> |
Dell Inspiron 5509 | <nixos-hardware/dell/inspiron/5509> |
Dell Inspiron 5515 | <nixos-hardware/dell/inspiron/5515> |
Dell Latitude 3480 | <nixos-hardware/dell/latitude/3480> |
Dell Latitude 5520 | <nixos-hardware/dell/latitude/5520> |
Dell Latitude 7490 | <nixos-hardware/dell/latitude/7490> |
Dell Poweredge R7515 | <nixos-hardware/dell/poweredge/r7515> |
Dell Precision 5530 | <nixos-hardware/dell/precision/5530> |
Dell XPS 13 7390 | <nixos-hardware/dell/xps/13-7390> |
Dell XPS 13 9310 | <nixos-hardware/dell/xps/13-9310> |
Dell XPS 13 9343 | <nixos-hardware/dell/xps/13-9343> |
Dell XPS 13 9350 | <nixos-hardware/dell/xps/13-9350> |
Dell XPS 13 9360 | <nixos-hardware/dell/xps/13-9360> |
Dell XPS 13 9370 | <nixos-hardware/dell/xps/13-9370> |
Dell XPS 13 9380 | <nixos-hardware/dell/xps/13-9380> |
Dell XPS 15 7590 | <nixos-hardware/dell/xps/15-7590> |
Dell XPS 15 9500, nvidia | <nixos-hardware/dell/xps/15-9500/nvidia> |
Dell XPS 15 9500 | <nixos-hardware/dell/xps/15-9500> |
Dell XPS 17 9700, intel | <nixos-hardware/dell/xps/17-9700/intel |
Dell XPS 17 9700, nvidia | <nixos-hardware/dell/xps/17-9700/nvidia> |
Dell XPS 15 9550, nvidia | <nixos-hardware/dell/xps/15-9550/nvidia> |
Dell XPS 15 9550 | <nixos-hardware/dell/xps/15-9550> |
Dell XPS 15 9560, intel only | <nixos-hardware/dell/xps/15-9560/intel> |
Dell XPS 15 9560, nvidia only | <nixos-hardware/dell/xps/15-9560/nvidia> |
Dell XPS 15 9560 | <nixos-hardware/dell/xps/15-9560> |
Dell XPS 17 9710, intel only | <nixos-hardware/dell/xps/17-9710/intel> |
Dell XPS E7240 | <nixos-hardware/dell/e7240> |
Framework | <nixos-hardware/framework> |
FriendlyARM NanoPC-T4 | <nixos-hardware/friendlyarm/nanopc-t4> |
GPD MicroPC | <nixos-hardware/gpd/micropc> |
Google Pixelbook | <nixos-hardware/google/pixelbook> |
HP Elitebook 2560p | <nixos-hardware/hp/elitebook/2560p> |
Intel NUC 8i7BEH | <nixos-hardware/intel/nuc/8i7beh> |
Lenovo IdeaPad Z510 | <nixos-hardware/lenovo/ideapad/z510> |
Lenovo Legion 5 15arh05h | <nixos-hardware/lenovo/legion/15arh05h> |
Lenovo Legion 7 Slim 15ach6 | <nixos-hardware/lenovo/legion/15ach6> |
Lenovo ThinkPad E14 (AMD) | <nixos-hardware/lenovo/thinkpad/e14/amd> |
Lenovo ThinkPad E14 (Intel) | <nixos-hardware/lenovo/thinkpad/e14/intel> |
Lenovo ThinkPad E470 | <nixos-hardware/lenovo/thinkpad/e470> |
Lenovo ThinkPad E495 | <nixos-hardware/lenovo/thinkpad/e495> |
Lenovo ThinkPad L13 Yoga | <nixos-hardware/lenovo/thinkpad/l13/yoga> |
Lenovo ThinkPad L13 | <nixos-hardware/lenovo/thinkpad/l13> |
Lenovo ThinkPad L14 (AMD) | <nixos-hardware/lenovo/thinkpad/l14/amd> |
Lenovo ThinkPad L14 (Intel) | <nixos-hardware/lenovo/thinkpad/l14/intel> |
Lenovo ThinkPad P1 Gen 3 | <nixos-hardware/lenovo/thinkpad/p1/3th-gen> |
Lenovo ThinkPad P14s AMD Gen 2 | <nixos-hardware/lenovo/thinkpad/p14s/amd/gen2> |
Lenovo ThinkPad P1 | <nixos-hardware/lenovo/thinkpad/p1> |
Lenovo ThinkPad P50 | <nixos-hardware/lenovo/thinkpad/p50> |
Lenovo ThinkPad P51 | <nixos-hardware/lenovo/thinkpad/p51> |
Lenovo ThinkPad P52 | <nixos-hardware/lenovo/thinkpad/p52> |
Lenovo ThinkPad P53 | <nixos-hardware/lenovo/thinkpad/p53> |
Lenovo ThinkPad T14 AMD Gen 1 | <nixos-hardware/lenovo/thinkpad/t14/amd/gen1> |
Lenovo ThinkPad T14 AMD Gen 2 | <nixos-hardware/lenovo/thinkpad/t14/amd/gen2> |
Lenovo ThinkPad T14 | <nixos-hardware/lenovo/thinkpad/t14> |
Lenovo ThinkPad T14s AMD Gen 1 | <nixos-hardware/lenovo/thinkpad/t14s/amd/gen1> |
Lenovo ThinkPad T14s | <nixos-hardware/lenovo/thinkpad/t14s> |
Lenovo ThinkPad T410 | <nixos-hardware/lenovo/thinkpad/t410> |
Lenovo ThinkPad T420 | <nixos-hardware/lenovo/thinkpad/t420> |
Lenovo ThinkPad T430 | <nixos-hardware/lenovo/thinkpad/t430> |
Lenovo ThinkPad T440p | <nixos-hardware/lenovo/thinkpad/t440p> |
Lenovo ThinkPad T440s | <nixos-hardware/lenovo/thinkpad/t440s> |
Lenovo ThinkPad T450s | <nixos-hardware/lenovo/thinkpad/t450s> |
Lenovo ThinkPad T460 | <nixos-hardware/lenovo/thinkpad/t460> |
Lenovo ThinkPad T460p | <nixos-hardware/lenovo/thinkpad/t460p> |
Lenovo ThinkPad T460s | <nixos-hardware/lenovo/thinkpad/t460s> |
Lenovo ThinkPad T470s | <nixos-hardware/lenovo/thinkpad/t470s> |
Lenovo ThinkPad T480 | <nixos-hardware/lenovo/thinkpad/t480> |
Lenovo ThinkPad T480s | <nixos-hardware/lenovo/thinkpad/t480s> |
Lenovo ThinkPad T490 | <nixos-hardware/lenovo/thinkpad/t490> |
Lenovo ThinkPad T495 | <nixos-hardware/lenovo/thinkpad/t495> |
Lenovo ThinkPad T550 | <nixos-hardware/lenovo/thinkpad/t550> |
Lenovo ThinkPad X1 Yoga | <nixos-hardware/lenovo/thinkpad/x1/yoga> |
Lenovo ThinkPad X1 (6th Gen) | <nixos-hardware/lenovo/thinkpad/x1/6th-gen> |
Lenovo ThinkPad X1 (7th Gen) | <nixos-hardware/lenovo/thinkpad/x1/7th-gen> |
Lenovo ThinkPad X1 (9th Gen) | <nixos-hardware/lenovo/thinkpad/x1/9th-gen> |
Lenovo ThinkPad X1 Extreme Gen 2 | <nixos-hardware/lenovo/thinkpad/x1-extreme/gen2> |
Lenovo ThinkPad X1 Extreme Gen 4 | <nixos-hardware/lenovo/thinkpad/x1-extreme/gen4> |
Lenovo ThinkPad X13 Yoga | <nixos-hardware/lenovo/thinkpad/x13/yoga> |
Lenovo ThinkPad X13 | <nixos-hardware/lenovo/thinkpad/x13> |
Lenovo ThinkPad X140e | <nixos-hardware/lenovo/thinkpad/x140e> |
Lenovo ThinkPad X200s | <nixos-hardware/lenovo/thinkpad/x200s> |
Lenovo ThinkPad X220 | <nixos-hardware/lenovo/thinkpad/x220> |
Lenovo ThinkPad X230 | <nixos-hardware/lenovo/thinkpad/x230> |
Lenovo ThinkPad X250 | <nixos-hardware/lenovo/thinkpad/x250> |
Lenovo ThinkPad X260 | <nixos-hardware/lenovo/thinkpad/x260> |
Lenovo ThinkPad X270 | <nixos-hardware/lenovo/thinkpad/x270> |
Lenovo ThinkPad X280 | <nixos-hardware/lenovo/thinkpad/x280> |
MSI GS60 2QE | <nixos-hardware/msi/gs60> |
MSI GL62/CX62 | <nixos-hardware/msi/gl62> |
Microsoft Surface Pro 3 | <nixos-hardware/microsoft/surface-pro/3> |
Microsoft Surface Range | <nixos-hardware/microsoft/surface> |
One-Netbook OneNetbook 4 | <nixos-hardware/onenetbook/4> |
PC Engines APU | <nixos-hardware/pcengines/apu> |
PINE64 Pinebook Pro | <nixos-hardware/pine64/pinebook-pro> |
Purism Librem 13v3 | <nixos-hardware/purism/librem/13v3> |
Purism Librem 15v3 | <nixos-hardware/purism/librem/15v3> |
Raspberry Pi 2 | <nixos-hardware/raspberry-pi/2> |
Raspberry Pi 4 | <nixos-hardware/raspberry-pi/4> |
Samsung Series 9 NP900X3C | <nixos-hardware/samsung/np900x3c> |
Supermicro A1SRi-2758F | <nixos-hardware/supermicro/a1sri-2758f> |
Supermicro M11SDV-8C-LN4F | <nixes-hardware/supermicro/m11sdv-8c-ln4f> |
Supermicro X10SLL-F | <nixos-hardware/supermicro/x10sll-f> |
Supermicro X12SCZ-TLN4F | <nixos-hardware/supermicro/x12scz-tln4f> |
System76 (generic) | <nixos-hardware/system76> |
System76 Darter Pro 6 | <nixos-hardware/system76/darp6> |
Toshiba Chromebook 2 swanky |
<nixos-hardware/toshiba/swanky> |
Tuxedo InfinityBook v4 | <nixos-hardware/tuxedo/infinitybook/v4> |
How to contribute a new device profile
- Add your device profile expression in the appropriate directory
- Link it in the table in README.md and in flake.nix
- Run ./tests/run.py to test it. The test script script will parse all the profiles from the README.md