mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 17:27:14 +08:00 
			
		
		
		
	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.
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.9 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"
 | 
						|
  ];
 | 
						|
 | 
						|
  # Requires at least 5.16 for working wi-fi and bluetooth.
 | 
						|
  # https://community.frame.work/t/using-the-ax210-with-linux-on-the-framework-laptop/1844/89
 | 
						|
  boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.16") (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;
 | 
						|
 | 
						|
  # Needed for desktop environments to detect/manage display brightness
 | 
						|
  hardware.sensor.iio.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;
 | 
						|
}
 |