bf212c4ef5
Add Ethernet Expansion Card support for the framework laptop. Due to automatic USB device suspension, the Ethernet Expansion Card was not working. Adding a udev rule to only suspend the card after 20 seconds fixes the problem. The framework support confirmed via email that all current Ethernet Expansion Cards share the same Product ID.
58 lines
2.1 KiB
Nix
58 lines
2.1 KiB
Nix
{ lib, pkgs, ... }: {
|
|
imports = [
|
|
../../common/cpu/intel
|
|
../../common/pc/laptop
|
|
../../common/pc/laptop/ssd
|
|
];
|
|
|
|
boot.kernelParams = [
|
|
# For Power consumption
|
|
# https://kvark.github.io/linux/framework/2021/10/17/framework-nixos.html
|
|
"mem_sleep_default=deep"
|
|
# For Power consumption
|
|
# https://community.frame.work/t/linux-battery-life-tuning/6665/156
|
|
"nvme.noacpi=1"
|
|
# Workaround iGPU hangs
|
|
# https://discourse.nixos.org/t/intel-12th-gen-igpu-freezes/21768/4
|
|
"i915.enable_psr=1"
|
|
];
|
|
|
|
# This enables the brightness keys to work
|
|
# https://community.frame.work/t/12th-gen-not-sending-xf86monbrightnessup-down/20605/11
|
|
boot.blacklistedKernelModules = [ "hid-sensor-hub" ];
|
|
|
|
# Alder Lake CPUs benefit from kernel 5.18 for ThreadDirector
|
|
# https://www.tomshardware.com/news/intel-thread-director-coming-to-linux-5-18
|
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.18") (lib.mkDefault pkgs.linuxPackages_latest);
|
|
|
|
# Fix TRRS headphones missing a mic
|
|
# https://community.frame.work/t/headset-microphone-on-linux/12387/3
|
|
boot.extraModprobeConfig = ''
|
|
options snd-hda-intel model=dell-headset-multi
|
|
'';
|
|
|
|
# For fingerprint support
|
|
services.fprintd.enable = lib.mkDefault true;
|
|
|
|
# Custom udev rules
|
|
services.udev.extraRules = ''
|
|
# Fix headphone noise when on powersave
|
|
# https://community.frame.work/t/headphone-jack-intermittent-noise/5246/55
|
|
SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{device}=="0xa0e0", ATTR{power/control}="on"
|
|
# Ethernet expansion card support
|
|
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20"
|
|
'';
|
|
|
|
# Mis-detected by nixos-generate-config
|
|
# https://github.com/NixOS/nixpkgs/issues/171093
|
|
# https://wiki.archlinux.org/title/Framework_Laptop#Changing_the_brightness_of_the_monitor_does_not_work
|
|
hardware.acpilight.enable = lib.mkDefault true;
|
|
|
|
# HiDPI
|
|
# Leaving here for documentation
|
|
# hardware.video.hidpi.enable = lib.mkDefault true;
|
|
|
|
# Fix font sizes in X
|
|
# services.xserver.dpi = 200;
|
|
}
|