98 lines
2.8 KiB
Nix
98 lines
2.8 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
imports =
|
|
[
|
|
../../common
|
|
./hardware-configuration.nix
|
|
];
|
|
|
|
networking.hostName = "electra";
|
|
|
|
# ==========================================
|
|
# 1. HARDWARE SPECIFICS (Framework 16)
|
|
# ==========================================
|
|
hardware.enableAllFirmware = true;
|
|
hardware.cpu.amd.updateMicrocode = true;
|
|
|
|
# Fingerprint Reader
|
|
services.fprintd.enable = true;
|
|
security.pam.services.sudo.fprintAuth = true;
|
|
security.pam.services.kde.fprintAuth = true;
|
|
security.pam.services.sddm.fprintAuth = false;
|
|
|
|
# ==========================================
|
|
# 2. GRAPHICS & KERNEL (Strix Point + RTX 5070)
|
|
# ==========================================
|
|
|
|
# Kernel Params for Strix Point iGPU
|
|
boot.kernelParams = [ "amdgpu.gttsize=32768" ];
|
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
|
|
|
# Graphics Drivers
|
|
hardware.graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
};
|
|
|
|
services.xserver.videoDrivers = [ "nvidia" ];
|
|
|
|
hardware.nvidia = {
|
|
modesetting.enable = true;
|
|
powerManagement.enable = true;
|
|
powerManagement.finegrained = true;
|
|
open = true;
|
|
nvidiaSettings = true;
|
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
|
|
|
prime = {
|
|
offload = {
|
|
enable = true;
|
|
enableOffloadCmd = true;
|
|
};
|
|
amdgpuBusId = "PCI:194:0:0";
|
|
nvidiaBusId = "PCI:193:0:0";
|
|
};
|
|
};
|
|
|
|
# ==========================================
|
|
# 3. SPECIALISATIONS (Gaming / Eco / No-dGPU)
|
|
# ==========================================
|
|
specialisation = {
|
|
# Option 1: Gaming Mode (Zen Kernel + Max Performance)
|
|
gaming-zen.configuration = {
|
|
system.nixos.tags = [ "Gaming-Zen" ];
|
|
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_zen;
|
|
hardware.nvidia.powerManagement.finegrained = lib.mkForce false;
|
|
};
|
|
|
|
# Option 2: Eco/Battery Mode (TLP + No Turbo)
|
|
battery-saver.configuration = {
|
|
system.nixos.tags = [ "Eco-Battery" ];
|
|
services.power-profiles-daemon.enable = lib.mkForce false;
|
|
services.tlp = {
|
|
enable = lib.mkForce true;
|
|
settings = {
|
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
|
CPU_BOOST_ON_BAT = 0;
|
|
PLATFORM_PROFILE_ON_BAT = "low-power";
|
|
};
|
|
};
|
|
};
|
|
|
|
# Option 3: Expansion Shell (Physically Removed GPU)
|
|
no-dgpu.configuration = {
|
|
system.nixos.tags = [ "No-dGPU" ];
|
|
services.xserver.videoDrivers = lib.mkForce [ "modesetting" ];
|
|
boot.blacklistedKernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
|
hardware.nvidia = {
|
|
modesetting.enable = lib.mkForce false;
|
|
powerManagement.enable = lib.mkForce false;
|
|
open = lib.mkForce false;
|
|
nvidiaSettings = lib.mkForce false;
|
|
prime.offload.enable = lib.mkForce false;
|
|
};
|
|
};
|
|
};
|
|
}
|