48 lines
1.4 KiB
Nix
48 lines
1.4 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 = {
|
|
modesetting.enable = lib.mkDefault true;
|
|
open = lib.mkDefault false;
|
|
nvidiaSettings = lib.mkDefault true;
|
|
prime = {
|
|
amdgpuBusId = "PCI:54:0:0";
|
|
nvidiaBusId = "PCI:1:0:0";
|
|
};
|
|
};
|
|
}
|