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:
parent
3f2fbacb21
commit
3c9f432a71
24
README.md
24
README.md
|
@ -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
47
README.org
Normal 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" ];
|
|
@ -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" ];
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./general-intel.nix ];
|
imports = [ ../intel.nix ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [
|
kernelParams = [
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./general-intel.nix ];
|
imports = [ ../intel.nix ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./general.nix ];
|
imports = [ ../common.nix ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
# wireless
|
# wireless
|
|
@ -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;
|
Loading…
Reference in a new issue