Mirror of NixOS-hardware
Go to file
Ivan Petkov 320866b985
raspberry-pi/4/dtmerge: fix application of overlays
Previously whenever an overlay was found to be incompatible with a base
device tree blob, the entire base dtb would be skipped in favor of
processing the next one. This had the unfortunate effect where overlays
would not fully be applied if any incompatibility was found. For
example, this is an issue with build device trees specific for one
flavor of raspberry pi if the overlay was not compatible _everywhere_.

The solution is to forego the `continue` keyword if an overlay is in
compatible and instead use a compound conditional statement to skip
incompatible overlays but continue trying to apply it to any remaining
dtbs.
2023-01-16 19:57:10 -08:00
.github .github/PULL_REQUEST_TEMPLATE.md: init 2022-10-27 13:25:13 +01:00
acer/aspire/4810t treewide: mark things that have to be done 2017-12-25 22:07:47 +00:00
airis/n990 treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
apple treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
asus asus-zephyrus-ga402: fix mic mute button 2023-01-01 12:31:25 -05:00
audio-gd treewide: mark things that have to be done 2017-12-25 22:07:47 +00:00
beagleboard/pocketbeagle beagleboard/pocketbeagle: init 2018-10-12 13:17:02 +00:00
common treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
dell treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
framework Add Ethernet Support on Framework 2022-11-19 14:33:56 +01:00
friendlyarm/nanopc-t4 nanopc-t4: use kernelParams to set tty baud rate 2021-11-25 10:09:56 +01:00
google/pixelbook google/pixelbook: init 2020-05-07 15:26:58 +00:00
gpd gpd/pocket-3: Only workaround hidpi module bug on NixOS < 22.11 2022-10-05 16:45:51 +02:00
hp/elitebook/2560p treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
intel/nuc/8i7beh treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
kobol/helios4 treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
lenovo treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
microsoft Deadnix fixes 2023-01-11 12:11:44 +13:00
msi treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
omen/en00015p treewide: Migrate to new nvidia modules 2022-11-13 01:55:13 +00:00
onenetbook/4 treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
panasonic/letsnote/cf-lx4 Added configuration for panasonic 2022-12-31 23:30:14 +09:00
pcengines/apu pcengines/apu: expose GRUB over serial 2019-03-24 18:48:11 +11:00
pine64/pinebook-pro treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
purism/librem Create separate directories for librem 13v3 and 15v3 2020-03-26 17:43:33 +01:00
raspberry-pi raspberry-pi/4/dtmerge: fix application of overlays 2023-01-16 19:57:10 -08:00
samsung/np900x3c treewide: mark things that have to be done 2017-12-25 22:07:47 +00:00
starfive/visionfive/v1 starfive/visionfive/v1: Make README.MD formatting more readable 2022-11-04 11:56:02 -05:00
supermicro treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
system76 treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
tests fix evaluation of rpi4 2023-01-10 00:31:59 +01:00
toshiba/swanky treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
tuxedo/infinitybook/v4 Add InfinityBook v4 (#159) 2020-05-05 23:20:10 +01:00
.editorconfig import editorconfig from nixpkgs 2022-03-04 13:41:36 +01:00
.gitignore Add .gitignore adapted from NixPkgs 2016-10-20 14:28:23 -04:00
CODEOWNERS Add support for System76 hardware, specifically the Darter Pro 6. 2020-09-03 19:03:10 -07:00
CONTRIBUTING.md CONTRIBUTING.md: mention bors 2022-10-01 14:51:28 +02:00
COPYING LICENSE -> COPYING 2018-08-25 13:54:23 +03:00
README.md Fixed typo 2023-01-14 08:34:30 +01:00
bors.toml add bors configuration 2022-09-29 23:42:38 +02:00
default.nix add dummy default.nix 2019-01-18 13:51:39 +00:00
flake.nix Add specialisation for Surface Laptop (AMD) 2023-01-11 11:16:39 +13:00

README.md

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.

How to contribute a new device profile

See CONTRIBUTING.md.

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 11,5 <nixos-hardware/apple/macbook-pro/11-5>
Apple MacBook Pro 12,1 <nixos-hardware/apple/macbook-pro/12-1>
Apple MacBook Pro 14,1 <nixos-hardware/apple/macbook-pro/14-1>
Asus ROG Strix G733QS <nixos-hardware/asus/rog-strix/g733qs>
Asus ROG Zephyrus G14 GA401 <nixos-hardware/asus/zephyrus/ga401>
Asus ROG Zephyrus G14 GA402 <nixos-hardware/asus/zephyrus/ga402>
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 Inspiron 7405 <nixos-hardware/dell/inspiron/7405>
Dell Latitude 3340 <nixos-hardware/dell/latitude/3340>
Dell Latitude 3480 <nixos-hardware/dell/latitude/3480>
Dell Latitude 5520 <nixos-hardware/dell/latitude/5520>
Dell Latitude 7430 <nixos-hardware/dell/latitude/7430>
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 9300 <nixos-hardware/dell/xps/13-9300>
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 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 9700, intel <nixos-hardware/dell/xps/17-9700/intel
Dell XPS 17 9700, nvidia <nixos-hardware/dell/xps/17-9700/nvidia>
Dell XPS 17 9710, intel only <nixos-hardware/dell/xps/17-9710/intel>
Dell XPS E7240 <nixos-hardware/dell/e7240>
Framework <nixos-hardware/framework>
Framework 12th Gen Intel Core <nixos-hardware/framework/12th-gen-intel>
FriendlyARM NanoPC-T4 <nixos-hardware/friendlyarm/nanopc-t4>
GPD MicroPC <nixos-hardware/gpd/micropc>
GPD Pocket 3 <nixos-hardware/gpd/pocket-3>
Google Pixelbook <nixos-hardware/google/pixelbook>
HP Elitebook 2560p <nixos-hardware/hp/elitebook/2560p>
Intel NUC 8i7BEH <nixos-hardware/intel/nuc/8i7beh>
Lenovo IdeaPad Gaming 3 15arh05 <nixos-hardware/lenovo/ideapad/15arh05>
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 Legion 5 Pro 16ach6h <nixos-hardware/lenovo/legion/16ach6h>
Lenovo Legion 5 Pro 16ach6h (Hybrid) <nixos-hardware/lenovo/legion/16ach6h/hybrid>
Lenovo Legion 5 Pro 16ach6h (Nvidia) <nixos-hardware/lenovo/legion/16ach6h/nvidia>
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 P16s AMD Gen 1 <nixos-hardware/lenovo/thinkpad/p16s/amd/gen1>
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 AMD Gen 3 <nixos-hardware/lenovo/thinkpad/t14/amd/gen3>
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 T590 <nixos-hardware/lenovo/thinkpad/t590>
Lenovo ThinkPad X1 Yoga <nixos-hardware/lenovo/thinkpad/x1/yoga>
Lenovo ThinkPad X1 Yoga Gen 7 <nixos-hardware/lenovo/thinkpad/x1/yoga/7th-gen>
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 (10th Gen) <nixos-hardware/lenovo/thinkpad/x1/10th-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>
Lenovo ThinkPad Z Series <nixos-hardware/lenovo/thinkpad/z>
Lenovo ThinkPad Z13 <nixos-hardware/lenovo/thinkpad/z/z13>
LENOVO Yoga 6 13ALC6 82ND <nixos-hardware/lenovo/yoga/6/13ALC6>
MSI GS60 2QE <nixos-hardware/msi/gs60>
MSI GL62/CX62 <nixos-hardware/msi/gl62>
Microsoft Surface Go <nixos-hardware/microsoft/surface/surface-go>
Microsoft Surface Pro (Intel) <nixos-hardware/microsoft/surface/surface-pro-intel>
Microsoft Surface Laptop (AMD) <nixos-hardware/microsoft/surface/surface-laptop-amd>
Microsoft Surface Range (Common Modules) <nixos-hardware/microsoft/surface/common>
Microsoft Surface Pro 3 <nixos-hardware/microsoft/surface-pro/3>
Omen en00015p <nixos-hardware/omen/en00015p>
One-Netbook OneNetbook 4 <nixos-hardware/onenetbook/4>
Panasonic Let's Note CF-LX4 <nixos-hardware/panasonic/letsnote/cf-lx4>
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>
StarFive VisionFive v1 <nixos-hardware/starfive/visionfive/v1>
Supermicro A1SRi-2758F <nixos-hardware/supermicro/a1sri-2758f>
Supermicro M11SDV-8C-LN4F <nixos-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>