2020-12-29 01:38:20 +00:00
|
|
|
{ lib, pkgs, ... }: {
|
|
|
|
imports = [ ../../../common/cpu/intel ../../../common/pc/laptop ];
|
2020-11-14 18:13:48 +00:00
|
|
|
|
2020-12-05 15:56:31 +00:00
|
|
|
# Includes the Wi-Fi and Bluetooth firmware for the QCA6390.
|
2021-02-26 10:41:03 +00:00
|
|
|
hardware.enableRedistributableFirmware = true;
|
2020-11-14 17:27:04 +00:00
|
|
|
|
2021-08-18 15:53:34 +00:00
|
|
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") (lib.mkDefault pkgs.linuxPackages_latest);
|
2021-07-26 23:33:28 +00:00
|
|
|
# TODO: upstream this to NixOS
|
|
|
|
boot.kernelPatches = [{
|
|
|
|
name = "enable-qca6390-bluetooth";
|
|
|
|
patch = null;
|
|
|
|
extraConfig = ''
|
|
|
|
BT_QCA m
|
|
|
|
BT_HCIUART m
|
|
|
|
BT_HCIUART_QCA y
|
|
|
|
BT_HCIUART_SERDEV y
|
|
|
|
SERIAL_DEV_BUS y
|
|
|
|
SERIAL_DEV_CTRL_TTYPORT y
|
|
|
|
'';
|
|
|
|
}];
|
|
|
|
boot.kernelModules = [ "btqca" "hci_qca" "hci_uart" ];
|
2020-12-05 17:38:14 +00:00
|
|
|
|
2020-11-14 17:54:25 +00:00
|
|
|
# Touchpad goes over i2c.
|
|
|
|
# Without this we get errors in dmesg on boot and hangs when shutting down.
|
|
|
|
boot.blacklistedKernelModules = [ "psmouse" ];
|
|
|
|
|
2020-11-14 17:27:04 +00:00
|
|
|
# Allows for updating firmware via `fwupdmgr`.
|
2020-12-29 01:38:20 +00:00
|
|
|
services.fwupd.enable = true;
|
2020-11-14 16:14:41 +00:00
|
|
|
}
|