diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2017-05-24 12:05:47 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2017-05-24 12:05:47 +0200 |
commit | d1a914082b7e53636f9801769ef96218b2125c4b (patch) | |
tree | 998805fc59fe0b1bb105b24a6a79fff646257d96 /gnu/services/pm.scm | |
parent | 657fb6c947d94cf946f29cd24e88bd080c01ff0a (diff) | |
parent | ae548434337cddf9677a4cd52b9370810b2cc9b6 (diff) | |
download | gnu-guix-d1a914082b7e53636f9801769ef96218b2125c4b.tar gnu-guix-d1a914082b7e53636f9801769ef96218b2125c4b.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/services/pm.scm')
-rw-r--r-- | gnu/services/pm.scm | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm index fe55647eef..d40cb993e2 100644 --- a/gnu/services/pm.scm +++ b/gnu/services/pm.scm @@ -20,6 +20,7 @@ #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix records) + #:use-module (gnu packages admin) #:use-module (gnu packages linux) #:use-module (gnu services) #:use-module (gnu services base) @@ -27,7 +28,10 @@ #:use-module (gnu services shepherd) #:use-module (gnu system shadow) #:export (tlp-service-type - tlp-configuration)) + tlp-configuration + + thermald-configuration + thermald-service-type)) (define (uglify-field-name field-name) (let ((str (symbol->string field-name))) @@ -396,9 +400,45 @@ shutdown on system startup.")) (service-extension udev-service-type (compose list tlp-configuration-tlp)) (service-extension activation-service-type - tlp-activation))))) + tlp-activation))) + (default-value (tlp-configuration)))) (define (generate-tlp-documentation) (generate-documentation `((tlp-configuration ,tlp-configuration-fields)) 'tlp-configuration)) + + + +;;; +;;; thermald +;;; +;;; This service implements cpu scaling. Helps prevent overheating! + +(define-record-type* <thermald-configuration> + thermald-configuration make-thermald-configuration + thermald-configuration? + (ignore-cpuid-check? thermald-ignore-cpuid-check? ;boolean + (default #f)) + (thermald thermald-thermald ;package + (default thermald))) + +(define (thermald-shepherd-service config) + (list + (shepherd-service + (provision '(thermald)) + (documentation "Run thermald cpu frequency scaling.") + (start #~(make-forkexec-constructor + '(#$(file-append (thermald-thermald config) "/sbin/thermald") + "--no-daemon" + #$@(if (thermald-ignore-cpuid-check? config) + '("--ignore-cpuid-check") + '())))) + (stop #~(make-kill-destructor))))) + +(define thermald-service-type + (service-type + (name 'thermald) + (extensions (list (service-extension shepherd-root-service-type + thermald-shepherd-service))) + (default-value (thermald-configuration)))) |