module Propellor.Property.Laptop where import Propellor.Base import qualified Propellor.Property.File as File import qualified Propellor.Property.Apt as Apt import qualified Propellor.Property.Systemd as Systemd -- | Makes powertop auto-tune the system for optimal power consumption on -- boot. powertopAutoTuneOnBoot :: RevertableProperty DebianLike DebianLike powertopAutoTuneOnBoot = setup undo `describe` "powertop auto-tune on boot" where setup = Systemd.enabled "powertop" `requires` Apt.installed ["powertop"] `requires` File.hasContent servicefile [ "[Unit]" , "Description=Powertop tunings" , "[Service]" , "ExecStart=/usr/sbin/powertop --auto-tune" , "RemainAfterExit=true" , "[Install]" , "WantedBy=multi-user.target" ] undo = tightenTargets $ File.notPresent servicefile `requires` check (doesFileExist servicefile) (Systemd.disabled "powertop") servicefile = "/etc/systemd/system/powertop.service" -- | Enables weekly TRIM for SSDs, using systemd's fstrim.timer, trimSSD :: Property Linux trimSSD = Systemd.enabled "fstrim.timer"