mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 09:17:14 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  pkgs,
 | 
						|
  config,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
{
 | 
						|
  imports = [
 | 
						|
    ../../common/cpu/amd
 | 
						|
    ../../common/cpu/amd/raphael/igpu.nix
 | 
						|
    ../../common/cpu/amd/pstate.nix
 | 
						|
    ../../common/gpu/nvidia
 | 
						|
    ../../common/gpu/nvidia/prime.nix
 | 
						|
    ../../common/hidpi.nix
 | 
						|
    ../../common/pc/laptop
 | 
						|
    ../../common/pc/ssd
 | 
						|
    ../battery.nix
 | 
						|
  ];
 | 
						|
 | 
						|
  boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.6") pkgs.linuxPackages_latest;
 | 
						|
 | 
						|
  # The bottom 2 parts are taken from the framework 16-inch laptops configurations.
 | 
						|
  # Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/
 | 
						|
  boot.kernelParams =
 | 
						|
    lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8")
 | 
						|
      [ "rtc_cmos.use_acpi_alarm=1" ];
 | 
						|
 | 
						|
  # AMD has better battery life with PPD over TLP:
 | 
						|
  # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
 | 
						|
  services.power-profiles-daemon.enable = lib.mkDefault true;
 | 
						|
 | 
						|
  # Adds the missing asus functionality to Linux.
 | 
						|
  # https://asus-linux.org/manual/asusctl-manual/
 | 
						|
  services = {
 | 
						|
    asusd = {
 | 
						|
      enable = lib.mkDefault true;
 | 
						|
      enableUserService = lib.mkDefault true;
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  hardware.nvidia = {
 | 
						|
    powerManagement.enable = lib.mkDefault true;
 | 
						|
    modesetting.enable = lib.mkDefault true;
 | 
						|
    open = lib.mkDefault false;
 | 
						|
    nvidiaSettings = lib.mkDefault true;
 | 
						|
    prime = {
 | 
						|
      amdgpuBusId = "PCI:54:0:0";
 | 
						|
      nvidiaBusId = "PCI:1:0:0";
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |