| 123456789101112131415161718192021222324252627282930313233 |
- { lib, pkgs, ... }:
- let
- disks = [
- "/dev/disk/by-id/ata-ST8000VN002-2ZM188_WPV023WG"
- "/dev/disk/by-id/ata-ST8000VN002-2ZM188_WPV07RMA"
- "/dev/disk/by-id/ata-ST8000VN002-2ZM188_WPV020CG"
- ];
- mkArgString = disks:
- lib.concatStringsSep " " (lib.map (disk: "-a ${disk} -i 600") disks);
- args = mkArgString disks;
- in
- {
- environment.systemPackages = [ pkgs.hd-idle ];
- systemd.services.hd-idle = {
- description = "hd-idle - spin down idle hard disks";
- after = [
- "suspend.target"
- "hibernate.target"
- "hybrid-sleep.target"
- "suspend-then-hibernate.target"
- ];
- wantedBy = [ "multi-user.target" ];
- serviceConfig = {
- Type = "simple";
- ExecStart = "${lib.getExe pkgs.hd-idle} ${args}";
- Restart = "always";
- };
- };
- }
|