102 lines
2.0 KiB
Nix
102 lines
2.0 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
imports = [ ./display.nix ];
|
|
|
|
# https://github.com/NixOS/nixos-hardware/tree/master/lenovo/legion/16achg6
|
|
hardware = {
|
|
enableAllFirmware = true;
|
|
|
|
cpu = {
|
|
cores = 8;
|
|
threads = 16;
|
|
amd.updateMicrocode = true;
|
|
};
|
|
|
|
nvidia = {
|
|
open = true;
|
|
powerManagement.enable = true;
|
|
dynamicBoost.enable = true;
|
|
|
|
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
|
|
];
|
|
};
|
|
|
|
nvidia-container-toolkit.enable = (
|
|
config.virtualisation.containerd.enable
|
|
|| config.virtualisation.docker.enable
|
|
|| config.virtualisation.podman.enable
|
|
);
|
|
};
|
|
|
|
boot = {
|
|
kernelParams = [ "amd_pstate=active" ];
|
|
kernelModules = [ "kvm-amd" ];
|
|
initrd.kernelModules = [
|
|
"nvme"
|
|
"ahci"
|
|
"usbhid"
|
|
"amdgpu"
|
|
];
|
|
};
|
|
|
|
nixpkgs.config = {
|
|
cudaSupport = true;
|
|
rocmSupport = true;
|
|
};
|
|
|
|
powerManagement.enable = true;
|
|
|
|
services = {
|
|
xserver.videoDrivers = [ "nvidia" ];
|
|
fstrim.enable = true;
|
|
tlp.settings.DISK_DEVICES = lib.mkDefault "nvme0n1 nvme1n1";
|
|
logind.lidSwitch = "ignore";
|
|
};
|
|
|
|
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 = [ "AQ_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 ./card.sh);
|
|
}
|
|
];
|
|
}
|