{ 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; }; }; }; }