26 lines
		
	
	
	
		
			513 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			513 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ lib, config, ... }:
 | 
						|
 | 
						|
let
 | 
						|
  cfg = config.systemModules.hardware.ssd;
 | 
						|
  inherit (lib) mkIf mkEnableOption;
 | 
						|
in
 | 
						|
 | 
						|
{
 | 
						|
  options.systemModules.hardware.ssd = {
 | 
						|
    enable = mkEnableOption "Enable ssd module";
 | 
						|
  };
 | 
						|
  
 | 
						|
  config = mkIf cfg.enable {
 | 
						|
    services.fstrim = {
 | 
						|
      enable = true;
 | 
						|
    };
 | 
						|
    # only run fstrim while connected on AC
 | 
						|
    systemd.services.fstrim = {
 | 
						|
      unitConfig.ConditionACPower = true;
 | 
						|
      serviceConfig = {
 | 
						|
        Nice = 19;
 | 
						|
        IOSchedulingClass = "idle";
 | 
						|
      };
 | 
						|
    }; 
 | 
						|
  };
 | 
						|
}
 |