treewide: modules -> profiles, separate dirs, list in README (#29)

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.
This commit is contained in:
Yegor Timoshenko 2017-12-22 20:17:00 +03:00 committed by zimbatm
parent 3f2fbacb21
commit 3c9f432a71
31 changed files with 53 additions and 28 deletions

View file

@ -1,24 +0,0 @@
A collection of NixOS modules covering hardware quirks.
## Usage
The simplest way to use this repo for now is to clone locally and include by path:
``` nix
{ config, pkgs, ... }:
{
imports =
[ /home/user/nixos-hardware/acme/thunkpad-2000.nix ];
}
```
Modules should favor usability and stability, so performance hacks
should be activated by an additional a NixOS option or conservative
and performance configs can be declared in seperate modules.
Because modules can only be tested with the appropriate hardware,
quality assurance is up to **you**.
## Simple tips and tricks
### Disable PC speaker
```boot.blacklistedKernelModules = [ "pcspkr" ];```

47
README.org Normal file
View file

@ -0,0 +1,47 @@
NixOS profiles covering hardware quirks.
Add a new channel:
: $ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
: $ sudo nix-channel --update nixos-hardware
Then add an appropriate profile path to ~imports~ in
~/etc/nixos/configuration.nix~. Currently available profiles:
| Model | Path |
|---------------------------+--------------------------------------------|
| Acer Aspire 4810T | ~<nixos-hardware/acer/aspire/4810t>~ |
| Acer C720 | ~<nixos-hardware/acer/c720>~ |
| Airis N990 | ~<nixos-hardware/airis/n990>~ |
| Apple MacBook Pro 10,1 | ~<nixos-hardware/apple/macbook-pro/10-1>~ |
| Apple MacBook Pro 12,1 | ~<nixos-hardware/apple/macbook-pro/12-1>~ |
| Dell XPS 15 9550 | ~<nixos-hardware/dell/xps/15-9550>~ |
| Inverse Path USB armory | ~<nixos-hardware/inversepath/usbarmory>~ |
| Lenovo IdeaPad Z510 | ~<nixos-hardware/lenovo/ideapad/z510>~ |
| Lenovo ThinkPad T410 | ~<nixos-hardware/lenovo/thinkpad/t410>~ |
| Lenovo ThinkPad T440p | ~<nixos-hardware/lenovo/thinkpad/t440p>~ |
| Lenovo ThinkPad T460s | ~<nixos-hardware/lenovo/thinkpad/t460s>~ |
| Lenovo ThinkPad X140e | ~<nixos-hardware/lenovo/thinkpad/x140e>~ |
| Lenovo ThinkPad X220 | ~<nixos-hardware/lenovo/thinkpad/x220>~ |
| Microsoft Surface Pro 3 | ~<nixos-hardware/microsoft/surface-pro/3>~ |
| Raspberry Pi 2 | ~<nixos-hardware/raspberry-pi/2>~ |
| Samsung Series 9 NP900X3C | ~<nixos-hardware/samsung/np900x3c>~ |
| Supermicro A1SRi-2758F | ~<nixos-hardware/supermicro/a1sri-2758f>~ |
| Supermicro X10SLL-F | ~<nixos-hardware/supermicro/x10sll-f>~ |
For example, to enable ThinkPad X220 profile, your ~imports~ should look like:
: imports = [ <nixos-hardware/lenovo/thinkpad/x220> ./hardware-configuration.nix ];
Profiles should favor usability and stability, so performance hacks should be
activated by an additional NixOS option or conservative and performance configs
can be declared in seperate profiles.
Because profiles can only be tested with the appropriate hardware, quality
assurance is up to *you*.
** Simple tips and tricks
*** Disable PC speaker
: boot.blacklistedKernelModules = [ "pcspkr" ];

View file

@ -1,5 +1,7 @@
# Use this module if you use a realtek 18812au based wifi dongle, like ASUS Wireless-AC1300 # Use this module if you use a realtek 18812au based wifi dongle, like ASUS Wireless-AC1300
{ pkgs, ... }: { pkgs, ... }:
{ {
boot.extraModulePackages = [ pkgs.linuxPackages.rtl8812au ]; boot.extraModulePackages = [ pkgs.linuxPackages.rtl8812au ];
boot.kernelModules = [ "8812au" ]; boot.kernelModules = [ "8812au" ];

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ ./general-intel.nix ]; imports = [ ../intel.nix ];
boot = { boot = {
kernelParams = [ kernelParams = [

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ ./general-intel.nix ]; imports = [ ../intel.nix ];
boot = { boot = {
extraModprobeConfig = '' extraModprobeConfig = ''

View file

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
imports = [ ./general.nix ]; imports = [ ../common.nix ];
boot = { boot = {
# wireless # wireless

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ ./general-intel.nix ]; imports = [ ../intel.nix ];
# TPM chip countains a RNG # TPM chip countains a RNG
security.rngd.enable = true; security.rngd.enable = true;