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