{ config, ... }: { # Boot configuration boot = { # Use systemd-boot for UEFI systems loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; loader.grub.devices = [ config.disko.devices.disk.main.device ]; loader.timeout = 3; # Kernel parameters for server workload blacklistedKernelModules = [ "k10temp" ]; kernelParams = [ "rootflags=compress=zstd:1,noatime" "amd_pstate=active" ]; kernelModules = [ "zenpower" "nct6775" ]; extraModulePackages = [ config.boot.kernelPackages.cpupower config.boot.kernelPackages.turbostat config.boot.kernelPackages.zenpower ]; # Enable KSM for memory efficiency with containers kernel.sysctl = { "kernel.sysrq" = 1; "vm.swappiness" = 10; "net.core.default_qdisc" = "cake"; }; }; hardware.fancontrol = { enable = true; config = '' INTERVAL=10 DEVPATH=hwmon2=devices/pci0000:00/0000:00:18.3 hwmon3=devices/platform/nct6775.656 DEVNAME=hwmon2=zenpower hwmon3=nct6798 FCTEMPS=hwmon3/pwm7=hwmon2/temp1_input hwmon3/pwm2=hwmon2/temp1_input FCFANS=hwmon3/pwm7=hwmon3/fan7_input hwmon3/pwm2=hwmon3/fan2_input MINTEMP=hwmon3/pwm7=40 hwmon3/pwm2=30 MAXTEMP=hwmon3/pwm7=85 hwmon3/pwm2=80 MINSTART=hwmon3/pwm7=95 hwmon3/pwm2=150 MINSTOP=hwmon3/pwm7=75 hwmon3/pwm2=0 MINPWM= hwmon3/pwm7=0 MAXPWM=hwmon3/pwm7=255 hwmon3/pwm2=255 ''; }; services.hddfancontrol.enable = true; services.hddfancontrol.settings = { harddrives = let devices = config.disko.devices.disk; in { disks = [ devices.parity1.device devices.data1.device devices.data2.device ]; pwmPaths = [ "/sys/class/hwmon/hwmon2/pwm1:20:0" "/sys/class/hwmon/hwmon2/pwm4:80:60" ]; logVerbosity = "DEBUG"; extraArgs = [ "--min-fan-speed-prct=0" ]; }; }; # Btrfs maintenance services.btrfs.autoScrub = { enable = true; interval = "monthly"; fileSystems = [ "/" ]; }; }