python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / modules / profiles / all-hardware.nix
blob5fa64a6c52e9f2aee99b9dd04239f40fac0318e4
1 # This module enables all hardware supported by NixOS: i.e., all
2 # firmware is included, and all devices from which one may boot are
3 # enabled in the initrd.  Its primary use is in the NixOS installation
4 # CDs.
6 { pkgs, lib,... }:
7 let
8   platform = pkgs.stdenv.hostPlatform;
9 in
12   # The initrd has to contain any module that might be necessary for
13   # supporting the most important parts of HW like drives.
14   boot.initrd.availableKernelModules =
15     [ # SATA/PATA support.
16       "ahci"
18       "ata_piix"
20       "sata_inic162x" "sata_nv" "sata_promise" "sata_qstor"
21       "sata_sil" "sata_sil24" "sata_sis" "sata_svw" "sata_sx4"
22       "sata_uli" "sata_via" "sata_vsc"
24       "pata_ali" "pata_amd" "pata_artop" "pata_atiixp" "pata_efar"
25       "pata_hpt366" "pata_hpt37x" "pata_hpt3x2n" "pata_hpt3x3"
26       "pata_it8213" "pata_it821x" "pata_jmicron" "pata_marvell"
27       "pata_mpiix" "pata_netcell" "pata_ns87410" "pata_oldpiix"
28       "pata_pcmcia" "pata_pdc2027x" "pata_qdi" "pata_rz1000"
29       "pata_serverworks" "pata_sil680" "pata_sis"
30       "pata_sl82c105" "pata_triflex" "pata_via"
31       "pata_winbond"
33       # SCSI support (incomplete).
34       "3w-9xxx" "3w-xxxx" "aic79xx" "aic7xxx" "arcmsr"
36       # USB support, especially for booting from USB CD-ROM
37       # drives.
38       "uas"
40       # SD cards.
41       "sdhci_pci"
43       # NVMe drives
44       "nvme"
46       # Firewire support.  Not tested.
47       "ohci1394" "sbp2"
49       # Virtio (QEMU, KVM etc.) support.
50       "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
52       # VMware support.
53       "mptspi" "vmxnet3" "vsock"
54     ] ++ lib.optional platform.isx86 "vmw_balloon"
55     ++ lib.optionals (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
56       "vmw_vmci" "vmwgfx" "vmw_vsock_vmci_transport"
58       # Hyper-V support.
59       "hv_storvsc"
60     ] ++ lib.optionals pkgs.stdenv.hostPlatform.isAarch [
61       # Most of the following falls into two categories:
62       #  - early KMS / early display
63       #  - early storage (e.g. USB) support
65       # Allows using framebuffer configured by the initial boot firmware
66       "simplefb"
68       # Allwinner support
70       # Required for early KMS
71       "sun4i-drm"
72       "sun8i-mixer" # Audio, but required for kms
74       # PWM for the backlight
75       "pwm-sun4i"
77       # Broadcom
79       "vc4"
80     ] ++ lib.optionals pkgs.stdenv.isAarch64 [
81       # Most of the following falls into two categories:
82       #  - early KMS / early display
83       #  - early storage (e.g. USB) support
85       # Broadcom
87       "pcie-brcmstb"
89       # Rockchip
90       "dw-hdmi"
91       "dw-mipi-dsi"
92       "rockchipdrm"
93       "rockchip-rga"
94       "phy-rockchip-pcie"
95       "pcie-rockchip-host"
97       # Misc. uncategorized hardware
99       # Used for some platform's integrated displays
100       "panel-simple"
101       "pwm-bl"
103       # Power supply drivers, some platforms need them for USB
104       "axp20x-ac-power"
105       "axp20x-battery"
106       "pinctrl-axp209"
107       "mp8859"
109       # USB drivers
110       "xhci-pci-renesas"
112       # Reset controllers
113       "reset-raspberrypi" # Triggers USB chip firmware load.
115       # Misc "weak" dependencies
116       "analogix-dp"
117       "analogix-anx6345" # For DP or eDP (e.g. integrated display)
118     ];
120   # Include lots of firmware.
121   hardware.enableRedistributableFirmware = true;
123   imports =
124     [ ../hardware/network/zydas-zd1211.nix ];