at 25.11-pre 1.3 kB view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8let 9 cfg = config.services.power-profiles-daemon; 10in 11 12{ 13 14 ###### interface 15 16 options = { 17 18 services.power-profiles-daemon = { 19 20 enable = lib.mkOption { 21 type = lib.types.bool; 22 default = false; 23 description = '' 24 Whether to enable power-profiles-daemon, a DBus daemon that allows 25 changing system behavior based upon user-selected power profiles. 26 ''; 27 }; 28 29 package = lib.mkPackageOption pkgs "power-profiles-daemon" { }; 30 31 }; 32 33 }; 34 35 ###### implementation 36 37 config = lib.mkIf cfg.enable { 38 39 assertions = [ 40 { 41 assertion = !config.services.tlp.enable; 42 message = '' 43 You have set services.power-profiles-daemon.enable = true; 44 which conflicts with services.tlp.enable = true; 45 ''; 46 } 47 { 48 assertion = !config.services.auto-cpufreq.enable; 49 message = '' 50 You have set services.power-profiles-daemon.enable = true; 51 which conflicts with services.auto-cpufreq.enable = true; 52 ''; 53 } 54 ]; 55 56 environment.systemPackages = [ cfg.package ]; 57 58 services.dbus.packages = [ cfg.package ]; 59 60 services.udev.packages = [ cfg.package ]; 61 62 systemd.packages = [ cfg.package ]; 63 64 }; 65 66}