Skip to content

Commit

Permalink
treewide: modules -> profiles, separate dirs, list in README (NixOS#29)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
lukateras authored and zimbatm committed Dec 22, 2017
1 parent 3f2fbac commit 3c9f432
Show file tree
Hide file tree
Showing 31 changed files with 53 additions and 28 deletions.
24 changes: 0 additions & 24 deletions README.md

This file was deleted.

47 changes: 47 additions & 0 deletions README.org
Original file line number Diff line number Diff line change
@@ -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" ];
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions asus/wireless-ac1300.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Use this module if you use a realtek 18812au based wifi dongle, like ASUS Wireless-AC1300

{ pkgs, ... }:

{
boot.extraModulePackages = [ pkgs.linuxPackages.rtl8812au ];
boot.kernelModules = [ "8812au" ];
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ config, pkgs, ... }:

{
imports = [ ./general-intel.nix ];
imports = [ ../intel.nix ];

boot = {
kernelParams = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ config, pkgs, ... }:

{
imports = [ ./general-intel.nix ];
imports = [ ../intel.nix ];

boot = {
extraModprobeConfig = ''
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:

{
imports = [ ./general.nix ];
imports = [ ../common.nix ];

boot = {
# wireless
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ config, pkgs, ... }:

{
imports = [ ./general-intel.nix ];
imports = [ ../intel.nix ];

# TPM chip countains a RNG
security.rngd.enable = true;
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 3c9f432

Please sign in to comment.