{ pkgs, lib, ... }: { # https://github.com/NixOS/nixos-hardware/tree/master/lenovo/legion/16achg6 hardware = { enableAllFirmware = true; cpu = { cores = 8; threads = 16; amd.updateMicrocode = true; }; nvidia = { modesetting.enable = true; powerManagement.enable = true; open = false; prime = { offload = { enable = true; enableOffloadCmd = true; }; nvidiaBusId = "PCI:1:0:0"; amdgpuBusId = "PCI:6:0:0"; }; }; graphics = { enable32Bit = true; extraPackages = with pkgs; [ amdvlk driversi686Linux.amdvlk rocmPackages.clr rocmPackages.clr.icd ]; }; }; boot = { kernelParams = [ "amd_pstate=active" ]; kernelModules = [ "kvm-amd" ]; initrd.kernelModules = [ "nvme" "ahci" "usbhid" "amdgpu" ]; }; nixpkgs = { hostPlatform = "x86_64-linux"; config = { cudaSupport = true; rocmSupport = true; }; }; powerManagement.enable = true; systemd.services.powertop.postStart = builtins.readFile ./system/scripts/mouse.sh; services = { xserver.videoDrivers = [ "nvidia" ]; fstrim.enable = true; tlp.settings.DISK_DEVICES = "nvme0n1 nvme1n1"; }; programs.gamescope.env = { __NV_PRIME_RENDER_OFFLOAD = "1"; __VK_LAYER_NV_optimus = "NVIDIA_only"; __GLX_VENDOR_LIBRARY_NAME = "nvidia"; }; home-manager.sharedModules = [ { wayland.windowManager.hyprland.settings = { env = [ "WLR_DRM_DEVICES,$HOME/.config/hypr/card" ]; device = [ { name = "syna2ba6:00-06cb:ce44-touchpad"; sensitivity = 0.5; } ]; gestures.workspace_swipe_distance = 600; }; programs.zsh.loginExtra = lib.mkBefore (builtins.readFile ./system/scripts/card.sh); } ]; }