2020-06-21 09:49:23 +02:00
|
|
|
NixOS profiles to optimize settings for different hardware.
|
2018-08-24 12:58:48 +02:00
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
2020-07-28 10:53:58 +02:00
|
|
|
### Using channels
|
|
|
|
|
2018-08-24 12:58:48 +02:00
|
|
|
Add and update `nixos-hardware` channel:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
|
2020-04-24 10:36:40 +02:00
|
|
|
$ sudo nix-channel --update
|
2018-08-24 12:58:48 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
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
|
|
|
|
];
|
|
|
|
```
|
|
|
|
|
2020-07-28 10:53:58 +02:00
|
|
|
New updates to the expressions here will be fetched when you update the channel.
|
|
|
|
|
|
|
|
## Using nix flakes support
|
2020-06-24 07:06:51 +02:00
|
|
|
|
|
|
|
There is also experimental flake support. In your `/etc/nixos/flake.nix` add the following:
|
|
|
|
|
|
|
|
```nix
|
|
|
|
{
|
|
|
|
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 = [
|
|
|
|
# ...
|
2021-02-13 20:59:31 +01:00
|
|
|
# add your model from this list: https://github.com/NixOS/nixos-hardware/blob/master/flake.nix
|
2020-06-24 07:06:51 +02:00
|
|
|
nixos-hardware.nixosModules.dell-xps-13-9380
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-07-28 10:53:58 +02:00
|
|
|
|
2020-10-13 13:55:46 +02:00
|
|
|
### Using fetchGit
|
2020-07-28 10:53:58 +02:00
|
|
|
|
|
|
|
You can fetch the git repository directly:
|
|
|
|
|
|
|
|
```nix
|
2021-02-06 18:03:00 +01:00
|
|
|
imports = [
|
2020-10-13 13:55:46 +02:00
|
|
|
"${builtins.fetchGit { url = "https://github.com/NixOS/nixos-hardware.git"; }}/lenovo/thinkpad/x220"
|
2020-07-28 10:53:58 +02:00
|
|
|
];
|
|
|
|
```
|
|
|
|
|
2021-02-06 18:03:00 +01:00
|
|
|
Unlike the channel, this will update the git repository on a rebuild. However,
|
2020-07-28 10:53:58 +02:00
|
|
|
you can easily pin to a particular revision if you desire more stability.
|
|
|
|
|
2020-06-21 10:14:32 +02:00
|
|
|
## List of Profiles
|
2019-09-03 08:47:25 +02:00
|
|
|
|
|
|
|
See code for all available configurations.
|
2018-08-24 12:58:48 +02:00
|
|
|
|
2019-09-28 23:58:20 +02:00
|
|
|
| Model | Path |
|
|
|
|
| --------------------------------- | -------------------------------------------------- |
|
|
|
|
| [Acer Aspire 4810T][] | `<nixos-hardware/acer/aspire/4810t>` |
|
|
|
|
| Airis N990 | `<nixos-hardware/airis/n990>` |
|
2019-11-12 11:36:10 +01:00
|
|
|
| Apple MacBook Air 3,X | `<nixos-hardware/apple/macbook-air/3>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| 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>` |
|
2020-05-20 16:35:48 +02:00
|
|
|
| Asus TUF FX504GD | `<nixos-hardware/asus/fx504gd>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| BeagleBoard PocketBeagle | `<nixos-hardware/beagleboard/pocketbeagle>` |
|
2020-12-01 15:19:15 +01:00
|
|
|
| [Dell G3 3779][] | `<nixos-hardware/dell/g3/3779>` |
|
2020-05-04 21:49:42 +02:00
|
|
|
| Dell Latitude 3480 | `<nixos-hardware/dell/latitude/3480>` |
|
2020-08-29 11:36:27 +02:00
|
|
|
| Dell Precision 5530 | `<nixos-hardware/dell/precision/5530>` |
|
2019-10-09 16:12:00 +02:00
|
|
|
| [Dell XPS E7240][] | `<nixos-hardware/dell/e7240>` |
|
2019-10-30 20:15:22 +01:00
|
|
|
| [Dell XPS 13 7390][] | `<nixos-hardware/dell/xps/13-7390>` |
|
2020-11-15 20:32:45 +01:00
|
|
|
| [Dell XPS 13 9310][] | `<nixos-hardware/dell/xps/13-9310>` |
|
2020-01-09 05:49:26 +01:00
|
|
|
| [Dell XPS 13 9343][] | `<nixos-hardware/dell/xps/13-9343>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| [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>` |
|
2020-02-04 12:53:51 +01:00
|
|
|
| [Dell XPS 15 7590][] | `<nixos-hardware/dell/xps/15-7590>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| [Dell XPS 15 9550][] | `<nixos-hardware/dell/xps/15-9550>` |
|
2021-02-09 00:25:17 +01:00
|
|
|
| [Dell XPS 15 9550, nvidia][] | `<nixos-hardware/dell/xps/15-9550/nvidia>` |
|
2020-02-05 11:47:52 +01:00
|
|
|
| [Dell XPS 15 9560][] | `<nixos-hardware/dell/xps/15-9560>` |
|
|
|
|
| [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>` |
|
2020-07-22 23:16:27 +02:00
|
|
|
| [Dell XPS 15 9500][] | `<nixos-hardware/dell/xps/15-9500>` |
|
|
|
|
| [Dell XPS 15 9500, nvidia][] | `<nixos-hardware/dell/xps/15-9500/nvidia>` |
|
2021-05-11 17:23:01 +02:00
|
|
|
| FriendlyARM NanoPC-T4 | `<nixos-hardware/friendlyarm/nanopc-t4>` |
|
2020-05-07 16:12:35 +02:00
|
|
|
| [Google Pixelbook][] | `<nixos-hardware/google/pixelbook>` |
|
2021-05-11 16:28:15 +02:00
|
|
|
| [GPD MicroPC][] | `<nixos-hardware/gpd/micropc>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| [Inverse Path USB armory][] | `<nixos-hardware/inversepath/usbarmory>` |
|
|
|
|
| Lenovo IdeaPad Z510 | `<nixos-hardware/lenovo/ideapad/z510>` |
|
2020-11-05 10:38:40 +01:00
|
|
|
| Lenovo ThinkPad E470 | `<nixos-hardware/lenovo/thinkpad/e470>` |
|
2020-02-12 10:56:49 +01:00
|
|
|
| Lenovo ThinkPad E495 | `<nixos-hardware/lenovo/thinkpad/e495>` |
|
2020-01-07 16:04:52 +01:00
|
|
|
| Lenovo ThinkPad L13 | `<nixos-hardware/lenovo/thinkpad/l13>` |
|
2020-10-07 21:13:52 +02:00
|
|
|
| Lenovo ThinkPad L14 (Intel) | `<nixos-hardware/lenovo/thinkpad/l14/intel> |
|
|
|
|
| Lenovo ThinkPad L14 (AMD) | `<nixos-hardware/lenovo/thinkpad/l14/amd> |
|
2019-10-16 20:25:20 +02:00
|
|
|
| Lenovo ThinkPad P53 | `<nixos-hardware/lenovo/thinkpad/p53>` |
|
2020-11-05 10:38:40 +01:00
|
|
|
| Lenovo ThinkPad T14 | `<nixos-hardware/lenovo/thinkpad/t14>` |
|
|
|
|
| Lenovo ThinkPad T14 AMD Gen 1 | `<nixos-hardware/lenovo/thinkpad/t14/amd/gen1>` |
|
2020-10-25 19:24:43 +01:00
|
|
|
| Lenovo ThinkPad T14s | `<nixos-hardware/lenovo/thinkpad/t14s>` |
|
2020-10-25 23:16:27 +01:00
|
|
|
| Lenovo ThinkPad T14s AMD Gen 1 | `<nixos-hardware/lenovo/thinkpad/t14s/amd/gen1>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| Lenovo ThinkPad T410 | `<nixos-hardware/lenovo/thinkpad/t410>` |
|
2019-11-02 11:52:58 +01:00
|
|
|
| Lenovo ThinkPad T420 | `<nixos-hardware/lenovo/thinkpad/t420>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| Lenovo ThinkPad T430 | `<nixos-hardware/lenovo/thinkpad/t430>` |
|
|
|
|
| Lenovo ThinkPad T440s | `<nixos-hardware/lenovo/thinkpad/t440s>` |
|
|
|
|
| Lenovo ThinkPad T440p | `<nixos-hardware/lenovo/thinkpad/t440p>` |
|
|
|
|
| Lenovo ThinkPad T450s | `<nixos-hardware/lenovo/thinkpad/t450s>` |
|
2021-05-11 17:23:01 +02:00
|
|
|
| Lenovo ThinkPad T460 | `<nixos-hardware/lenovo/thinkpad/t460>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| Lenovo ThinkPad T460s | `<nixos-hardware/lenovo/thinkpad/t460s>` |
|
|
|
|
| Lenovo ThinkPad T470s | `<nixos-hardware/lenovo/thinkpad/t470s>` |
|
|
|
|
| Lenovo ThinkPad T480s | `<nixos-hardware/lenovo/thinkpad/t480s>` |
|
|
|
|
| Lenovo ThinkPad T490 | `<nixos-hardware/lenovo/thinkpad/t490>` |
|
2020-03-11 08:09:55 +01:00
|
|
|
| Lenovo ThinkPad T495 | `<nixos-hardware/lenovo/thinkpad/t495>` |
|
2021-02-06 18:03:00 +01:00
|
|
|
| Lenovo ThinkPad X113 Yoga | `<nixos-hardware/lenovo/thinkpad/x13-yoga>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| Lenovo ThinkPad X140e | `<nixos-hardware/lenovo/thinkpad/x140e>` |
|
2021-04-21 04:50:55 +02:00
|
|
|
| Lenovo ThinkPad X200s | `<nixos-hardware/lenovo/thinkpad/x200s>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| 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>` |
|
2019-12-31 12:43:42 +01:00
|
|
|
| Lenovo ThinkPad X280 | `<nixos-hardware/lenovo/thinkpad/x280>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| [Lenovo ThinkPad X1 (6th Gen)][] | `<nixos-hardware/lenovo/thinkpad/x1/6th-gen>` |
|
2020-05-16 22:12:10 +02:00
|
|
|
| [Lenovo ThinkPad X1 (7th Gen)][] | `<nixos-hardware/lenovo/thinkpad/x1/7th-gen>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| Lenovo ThinkPad X1 Extreme Gen 2 | `<nixos-hardware/lenovo/thinkpad/x1-extreme/gen2>` |
|
2021-05-01 08:14:51 +02:00
|
|
|
| [Lenovo ThinkPad X13][] | `<nixos-hardware/lenovo/thinkpad/x13` |
|
2021-02-22 20:28:27 +01:00
|
|
|
| [Microsoft Surface Range][] | `<nixos-hardware/microsoft/surface>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| [Microsoft Surface Pro 3][] | `<nixos-hardware/microsoft/surface-pro/3>` |
|
2021-04-05 10:29:34 +02:00
|
|
|
| [MNT Reform (i.MX8M)][] | `<nixos-hardware/mnt/reform2-nitrogen8m>` |
|
2021-03-21 16:28:09 +01:00
|
|
|
| [MSI GS60 2QE][] | `<nixos-hardware/msi/gs60>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| PC Engines APU | `<nixos-hardware/pcengines/apu>` |
|
|
|
|
| [Raspberry Pi 2][] | `<nixos-hardware/raspberry-pi/2>` |
|
2021-05-11 09:32:03 +02:00
|
|
|
| [Raspberry Pi 4][] | `<nixos-hardware/raspberry-pi/4>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| [Samsung Series 9 NP900X3C][] | `<nixos-hardware/samsung/np900x3c>` |
|
2020-03-26 10:35:01 +01:00
|
|
|
| [Purism Librem 13v3][] | `<nixos-hardware/purism/librem/13v3>` |
|
|
|
|
| [Purism Librem 15v3][] | `<nixos-hardware/purism/librem/15v3>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| Supermicro A1SRi-2758F | `<nixos-hardware/supermicro/a1sri-2758f>` |
|
|
|
|
| Supermicro X10SLL-F | `<nixos-hardware/supermicro/x10sll-f>` |
|
2020-08-24 01:42:07 +02:00
|
|
|
| [System76 (generic)][] | `<nixos-hardware/system76>` |
|
|
|
|
| [System76 Darter Pro 6][] | `<nixos-hardware/system76/darp6>` |
|
2019-09-28 23:58:20 +02:00
|
|
|
| [Toshiba Chromebook 2 `swanky`][] | `<nixos-hardware/toshiba/swanky>` |
|
2020-05-06 00:20:10 +02:00
|
|
|
| [Tuxedo InfinityBook v4][] | `<nixos-hardware/tuxedo/infinitybook/v4>` |
|
2018-08-24 12:58:48 +02:00
|
|
|
|
|
|
|
[Acer Aspire 4810T]: acer/aspire/4810t
|
2020-05-20 16:35:48 +02:00
|
|
|
[Asus TUF FX504GD]: asus/fx504gd
|
2018-08-24 12:58:48 +02:00
|
|
|
[Apple MacBook Pro 10,1]: apple/macbook-pro/10-1
|
2020-12-01 15:19:15 +01:00
|
|
|
[Dell G3 3779]: dell/g3/3779
|
2019-10-16 16:05:55 +02:00
|
|
|
[Dell XPS E7240]: dell/e7240
|
2019-10-30 20:15:22 +01:00
|
|
|
[Dell XPS 13 7390]: dell/xps/13-7390
|
2020-01-09 05:49:26 +01:00
|
|
|
[Dell XPS 13 9343]: dell/xps/13-9343
|
2020-11-15 20:32:45 +01:00
|
|
|
[Dell XPS 13 9310]: dell/xps/13-9310
|
2019-04-26 19:43:47 +02:00
|
|
|
[Dell XPS 13 9360]: dell/xps/13-9360
|
2018-10-19 15:45:05 +02:00
|
|
|
[Dell XPS 13 9370]: dell/xps/13-9370
|
2019-04-26 19:43:47 +02:00
|
|
|
[Dell XPS 13 9380]: dell/xps/13-9380
|
2020-02-04 13:04:46 +01:00
|
|
|
[Dell XPS 15 7590]: dell/xps/15-7590
|
2018-08-24 12:58:48 +02:00
|
|
|
[Dell XPS 15 9550]: dell/xps/15-9550
|
2020-02-05 11:47:52 +01:00
|
|
|
[Dell XPS 15 9560]: dell/xps/15-9560
|
|
|
|
[Dell XPS 15 9560, intel only]: dell/xps/15-9560/intel
|
|
|
|
[Dell XPS 15 9560, nvidia only]: dell/xps/15-9560/nvidia
|
2020-05-07 16:12:35 +02:00
|
|
|
[Google Pixelbook]: google/pixelbook
|
2021-05-11 16:28:15 +02:00
|
|
|
[GPD MicroPC]: gpd/micropc
|
2018-08-24 12:58:48 +02:00
|
|
|
[Inverse Path USB armory]: inversepath/usbarmory
|
2018-09-02 10:47:48 +02:00
|
|
|
[Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen
|
2020-05-16 22:12:10 +02:00
|
|
|
[Lenovo ThinkPad X1 (7th Gen)]: lenovo/thinkpad/x1/7th-gen
|
2021-05-01 08:14:51 +02:00
|
|
|
[Lenovo ThinkPad X13]: lenovo/thinkpad/x13
|
2021-02-06 18:03:00 +01:00
|
|
|
[Lenovo ThinkPad X13 Yoga]: lenovo/thinkpad/x13-yoga
|
2018-08-30 14:59:11 +02:00
|
|
|
[Lenovo ThinkPad X260]: lenovo/thinkpad/x260
|
2018-08-24 12:58:48 +02:00
|
|
|
[Microsoft Surface Pro 3]: microsoft/surface-pro/3
|
2021-03-21 16:28:09 +01:00
|
|
|
[MSI GS60 2QE]: msi/gs60
|
2018-08-24 12:58:48 +02:00
|
|
|
[Raspberry Pi 2]: raspberry-pi/2
|
|
|
|
[Samsung Series 9 NP900X3C]: samsung/np900x3c
|
2020-08-24 01:42:07 +02:00
|
|
|
[System76 (generic)]: system76
|
|
|
|
[System76 Darter Pro 6]: system76/darp6
|
2018-08-24 12:58:48 +02:00
|
|
|
[Purism Librem 13v3]: purism/librem/13v3
|
2020-06-21 15:32:53 +02:00
|
|
|
[Purism Librem 15v5]: purism/librem/15v5
|
2018-08-24 12:58:48 +02:00
|
|
|
[Toshiba Chromebook 2 `swanky`]: toshiba/swanky
|
2020-05-17 09:07:37 +02:00
|
|
|
[Tuxedo InfinityBook v4]: nixos-hardware/tuxedo/infinitybook/v4
|
2020-02-19 12:01:02 +01:00
|
|
|
|
|
|
|
## How to contribute a new device profile
|
|
|
|
|
|
|
|
1. Add your device profile expression in the appropriate directory
|
2020-09-27 17:21:23 +02:00
|
|
|
2. Link it in the table in README.md and in flake.nix
|
2020-02-19 12:01:02 +01:00
|
|
|
3. Run ./tests/run.py to test it. The test script script will parse all the profiles from the README.md
|