nixos/preload: init
[NixPkgs.git] / nixos / modules / services / hardware / power-profiles-daemon.nix
blob101da01b4a712dc67afae1fc4b26d2775b9d124e
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.services.power-profiles-daemon;
7   package = pkgs.power-profiles-daemon;
8 in
12   ###### interface
14   options = {
16     services.power-profiles-daemon = {
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       };
27     };
29   };
32   ###### implementation
34   config = mkIf cfg.enable {
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     ];
45     environment.systemPackages = [ package ];
47     services.dbus.packages = [ package ];
49     services.udev.packages = [ package ];
51     systemd.packages = [ package ];
53   };