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