Fork of NixOS/nixos-hardware with some customizations.
Find a file
2022-02-04 15:10:46 +01:00
.github build(deps): bump cachix/install-nix-action from 15 to 16 2021-11-22 02:03:04 +00:00
acer/aspire/4810t treewide: mark things that have to be done 2017-12-25 22:07:47 +00:00
airis/n990 treewide: abstract away common configs into common/ 2017-12-24 23:21:05 +00:00
apple remove systemd-boot from hardware profiles (#307) 2021-08-21 09:22:25 +01:00
asus g733qs: lates linux only if kernel older than 5.12 2021-11-24 20:49:28 +00: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 Revert "Merge pull request #333 from bobvanderlinden/pr-intel-32bit" 2021-11-18 10:11:58 +07:00
dell Merge pull request #356 from NelsonJeppesen/xps17-9710 2022-01-12 05:36:37 +00: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/micropc add gpd-micropc 2021-05-11 16:28:15 +02:00
intel/nuc/8i7beh Fix typo 2021-12-12 00:00:48 +08:00
lenovo readded t14 amd gen1 to new folder structure 2022-02-04 15:10:46 +01:00
microsoft microsoft/surface: enable redistributable firmware 2022-02-02 09:49:37 +01:00
msi/gs60 Add MSI GS60 2QE (#224) 2021-03-21 15:28:09 +00:00
onenetbook/4 onenetbook/4: update stylus patch for 5.12.12 2021-06-26 12:09:54 +02:00
pcengines/apu pcengines/apu: expose GRUB over serial 2019-03-24 18:48:11 +11:00
purism/librem Create separate directories for librem 13v3 and 15v3 2020-03-26 17:43:33 +01:00
raspberry-pi drop no-longer reachable torrent 2021-12-28 10:29:31 +01:00
samsung/np900x3c treewide: mark things that have to be done 2017-12-25 22:07:47 +00:00
supermicro add Supermicro M11SDV-8C-LN4F. 2022-01-07 17:52:30 +01:00
system76 system76: Remove kernel param ec_sys.write_support=1. 2020-10-12 18:06:11 -07:00
tests fix test profile 2022-02-01 22:08:15 +01:00
toshiba/swanky toshiba/swanky: remove usage of alias 2021-06-30 23:50:00 +02:00
tuxedo/infinitybook/v4 Add InfinityBook v4 (#159) 2020-05-05 23:20:10 +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 Suggestions for CONTRIBUTING 2018-08-31 20:16:33 +01:00
COPYING LICENSE -> COPYING 2018-08-25 13:54:23 +03:00
default.nix add dummy default.nix 2019-01-18 13:51:39 +00:00
flake.nix Merge pull request #356 from NelsonJeppesen/xps17-9710 2022-01-12 05:36:37 +00:00
README.md readded t14 amd gen1 to new folder structure 2022-02-04 15:10:46 +01:00

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 12,1 <nixos-hardware/apple/macbook-pro/12-1>
Apple MacBook Pro 10,1 <nixos-hardware/apple/macbook-pro/10-1>
Asus TUF FX504GD <nixos-hardware/asus/fx504gd>
Asus ROG Strix G733QS <nixos-hardware/asus/rog-strix/g733qs>
Asus ROG Zephyrus G14 GA401 <nixos-hardware/asus/zephyrus/ga401>
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 7490 <nixos-hardware/dell/latitude/7490>
Dell Poweredge R7515 <nixos-hardware/dell/poweredge/r7515>
Dell Precision 5530 <nixos-hardware/dell/precision/5530>
Dell XPS E7240 <nixos-hardware/dell/e7240>
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 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 9550 <nixos-hardware/dell/xps/15-9550>
Dell XPS 15 9550, nvidia <nixos-hardware/dell/xps/15-9550/nvidia>
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>
Dell XPS 15 9500 <nixos-hardware/dell/xps/15-9500>
Dell XPS 15 9500, nvidia <nixos-hardware/dell/xps/15-9500/nvidia>
Dell XPS 17 9710, intel only <nixos-hardware/dell/xps/17-9710/intel>
FriendlyARM NanoPC-T4 <nixos-hardware/friendlyarm/nanopc-t4>
Google Pixelbook <nixos-hardware/google/pixelbook>
GPD MicroPC <nixos-hardware/gpd/micropc>
Intel NUC 8i7BEH <nixos-hardware/intel/nuc/8i7beh>
Lenovo IdeaPad Z510 <nixos-hardware/lenovo/ideapad/z510>
Lenovo ThinkPad E14 (Intel) <nixos-hardware/lenovo/thinkpad/e14/intel>
Lenovo ThinkPad E14 (AMD) <nixos-hardware/lenovo/thinkpad/e14/amd>
Lenovo ThinkPad E470 <nixos-hardware/lenovo/thinkpad/e470>
Lenovo ThinkPad E495 <nixos-hardware/lenovo/thinkpad/e495>
Lenovo ThinkPad L13 <nixos-hardware/lenovo/thinkpad/l13>
Lenovo ThinkPad L13 Yoga <nixos-hardware/lenovo/thinkpad/l13/yoga>
Lenovo ThinkPad L14 (Intel) <nixos-hardware/lenovo/thinkpad/l14/intel>
Lenovo ThinkPad L14 (AMD) <nixos-hardware/lenovo/thinkpad/l14/amd>
Lenovo ThinkPad P1 <nixos-hardware/lenovo/thinkpad/p1>
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 P53 <nixos-hardware/lenovo/thinkpad/p53>
Lenovo ThinkPad T14 <nixos-hardware/lenovo/thinkpad/t14>
Lenovo ThinkPad T14s <nixos-hardware/lenovo/thinkpad/t14s>
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 T14s AMD Gen 1 <nixos-hardware/lenovo/thinkpad/t14s/amd/gen1>
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 T440s <nixos-hardware/lenovo/thinkpad/t440s>
Lenovo ThinkPad T440p <nixos-hardware/lenovo/thinkpad/t440p>
Lenovo ThinkPad T450s <nixos-hardware/lenovo/thinkpad/t450s>
Lenovo ThinkPad T460 <nixos-hardware/lenovo/thinkpad/t460>
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 X13 Yoga <nixos-hardware/lenovo/thinkpad/x13/yoga>
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 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 X13 <nixos-hardware/lenovo/thinkpad/x13>
One-Netbook OneNetbook 4 <nixos-hardware/onenetbook/4>
Microsoft Surface Range <nixos-hardware/microsoft/surface>
Microsoft Surface Pro 3 <nixos-hardware/microsoft/surface-pro/3>
MSI GS60 2QE <nixos-hardware/msi/gs60>
PC Engines APU <nixos-hardware/pcengines/apu>
Raspberry Pi 2 <nixos-hardware/raspberry-pi/2>
Raspberry Pi 4 <nixos-hardware/raspberry-pi/4>
Samsung Series 9 NP900X3C <nixos-hardware/samsung/np900x3c>
Purism Librem 13v3 <nixos-hardware/purism/librem/13v3>
Purism Librem 15v3 <nixos-hardware/purism/librem/15v3>
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

  1. Add your device profile expression in the appropriate directory
  2. Link it in the table in README.md and in flake.nix
  3. Run ./tests/run.py to test it. The test script script will parse all the profiles from the README.md