❄️ Dotfiles and NixOS configurations

refactor(eclipse): run hdparm in oneshot service

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

+15 -15
+15 -15
nixosConfigurations/eclipse/boot.nix
··· 1 - { 2 - lib, 3 - pkgs, 4 - ... 5 - }: let 6 - inherit (lib) getExe; 7 - in { 1 + {pkgs, ...}: { 8 2 hardware.enableRedistributableFirmware = true; 9 3 10 4 boot = { ··· 19 13 powerManagement = { 20 14 cpuFreqGovernor = "ondemand"; 21 15 powertop.enable = true; 22 - powerUpCommands = let 23 - hdparm = getExe pkgs.hdparm; 24 - sleep = toString 60; 25 - in '' 26 - ${hdparm} -S ${sleep} /dev/disk/by-id/ata-WDC_WD20EFZX-68AWUN0_WD-WX32DC0HKLT1 27 - ${hdparm} -S ${sleep} /dev/disk/by-id/ata-WDC_WD20EFZX-68AWUN0_WD-WX32DC08D8PA 28 - ${hdparm} -S ${sleep} /dev/disk/by-id/ata-WDC_WD20EFZX-68AWUN0_WD-WX32DC0HK3TR 29 - ${hdparm} -S ${sleep} /dev/disk/by-id/ata-WDC_WD20EFZX-68AWUN0_WD-WX32DC06YKVX 16 + }; 17 + 18 + systemd.services."hdd-powersave" = { 19 + description = "Apply powersave options to HDDs"; 20 + after = ["local-fs.target"]; 21 + wantedBy = ["local-fs.target"]; 22 + 23 + path = [pkgs.hdparm]; 24 + script = '' 25 + for serial in WX32DC0HKLT1 WX32DC08D8PA WX32DC0HK3TR WX32DC06YKVX; do 26 + hdparm -S 60 /dev/disk/by-id/ata-WDC_WD20EFZX-68AWUN0_WD-"$serial" 27 + done 30 28 ''; 29 + 30 + serviceConfig.Type = "oneshot"; 31 31 }; 32 32 }