at 23.11-pre 3.4 kB view raw
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. 5 6{ pkgs, lib,... }: 7let 8 platform = pkgs.stdenv.hostPlatform; 9in 10{ 11 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" 17 18 "ata_piix" 19 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" 23 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" 32 33 # SCSI support (incomplete). 34 "3w-9xxx" "3w-xxxx" "aic79xx" "aic7xxx" "arcmsr" "hpsa" 35 36 # USB support, especially for booting from USB CD-ROM 37 # drives. 38 "uas" 39 40 # SD cards. 41 "sdhci_pci" 42 43 # NVMe drives 44 "nvme" 45 46 # Firewire support. Not tested. 47 "ohci1394" "sbp2" 48 49 # Virtio (QEMU, KVM etc.) support. 50 "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console" 51 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" 57 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 64 65 # Allows using framebuffer configured by the initial boot firmware 66 "simplefb" 67 68 # Allwinner support 69 70 # Required for early KMS 71 "sun4i-drm" 72 "sun8i-mixer" # Audio, but required for kms 73 74 # PWM for the backlight 75 "pwm-sun4i" 76 77 # Broadcom 78 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 84 85 # Broadcom 86 87 "pcie-brcmstb" 88 89 # Rockchip 90 "dw-hdmi" 91 "dw-mipi-dsi" 92 "rockchipdrm" 93 "rockchip-rga" 94 "phy-rockchip-pcie" 95 "pcie-rockchip-host" 96 97 # Misc. uncategorized hardware 98 99 # Used for some platform's integrated displays 100 "panel-simple" 101 "pwm-bl" 102 103 # Power supply drivers, some platforms need them for USB 104 "axp20x-ac-power" 105 "axp20x-battery" 106 "pinctrl-axp209" 107 "mp8859" 108 109 # USB drivers 110 "xhci-pci-renesas" 111 112 # Reset controllers 113 "reset-raspberrypi" # Triggers USB chip firmware load. 114 115 # Misc "weak" dependencies 116 "analogix-dp" 117 "analogix-anx6345" # For DP or eDP (e.g. integrated display) 118 ]; 119 120 # Include lots of firmware. 121 hardware.enableRedistributableFirmware = true; 122 123 imports = 124 [ ../hardware/network/zydas-zd1211.nix ]; 125 126}