diff --git a/flake.nix b/flake.nix index 0a0f505fc..79ada5c8e 100644 --- a/flake.nix +++ b/flake.nix @@ -163,6 +163,7 @@ lenovo-legion-16ach6h-nvidia = import ./lenovo/legion/16ach6h/nvidia; lenovo-legion-16achg6-hybrid = import ./lenovo/legion/16achg6/hybrid; lenovo-legion-16achg6-nvidia = import ./lenovo/legion/16achg6/nvidia; + lenovo-legion-16ahp9 = import ./lenovo/legion/16ahp9; lenovo-legion-16aph8 = import ./lenovo/legion/16aph8; lenovo-legion-16arha7 = import ./lenovo/legion/16arha7; lenovo-legion-16ithg6 = import ./lenovo/legion/16ithg6; diff --git a/lenovo/legion/16ahp9/README.md b/lenovo/legion/16ahp9/README.md new file mode 100644 index 000000000..39a3e9974 --- /dev/null +++ b/lenovo/legion/16ahp9/README.md @@ -0,0 +1,15 @@ +I am running the Linux 6.12.17 kernel with Gnome, and it seems to be working well. + +## Setup at the time of testing + +### nix-info + +``` +$ nix-info -m + - system: `"x86_64-linux"` + - host os: `Linux 6.12.17, NixOS, 25.05 (Warbler), 25.05.20250309.e3e32b6` + - multi-user?: `yes` + - sandbox: `yes` + - version: `nix-env (Nix) 2.24.12` + - nixpkgs: `/nix/store/g4ppspdl4fy7hnp4jgjl4ll03v7i08w3-source` +``` diff --git a/lenovo/legion/16ahp9/default.nix b/lenovo/legion/16ahp9/default.nix new file mode 100644 index 000000000..8dc2bbb81 --- /dev/null +++ b/lenovo/legion/16ahp9/default.nix @@ -0,0 +1,39 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/amd + ../../../common/cpu/amd/pstate.nix + ../../../common/gpu/amd + ../../../common/gpu/nvidia + ../../../common/pc/laptop + ../../../common/pc/laptop/ssd + ]; + + # Use latest LTS kernel for more Raphael fixes + boot = lib.mkMerge [ + (lib.mkIf (lib.versionOlder pkgs.linux.version "6.6") { + kernelPackages = pkgs.linuxPackages_latest; + kernelParams = [ "amdgpu.sg_display=0" ]; + }) + ]; + + hardware.nvidia = { + modesetting.enable = lib.mkDefault true; + powerManagement.enable = lib.mkDefault false; + powerManagement.finegrained = lib.mkDefault false; + open = lib.mkDefault false; + prime = { + sync.enable = lib.mkDefault true; + amdgpuBusId = "PCI:6:0:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + }; + + # Avoid issues with modesetting causing blank screen + services.xserver.videoDrivers = [ "nvidia" ]; + + # 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; +}