grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / hardware / power-profiles-daemon.nix
blob7651c65b9f181af04145d09ee11cfac27d614a91
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.services.power-profiles-daemon;
5 in
9   ###### interface
11   options = {
13     services.power-profiles-daemon = {
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       };
24       package = lib.mkPackageOption pkgs "power-profiles-daemon" { };
26     };
28   };
31   ###### implementation
33   config = lib.mkIf cfg.enable {
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       { assertion = !config.services.auto-cpufreq.enable;
43         message = ''
44           You have set services.power-profiles-daemon.enable = true;
45           which conflicts with services.auto-cpufreq.enable = true;
46         '';
47       }
48     ];
50     environment.systemPackages = [ cfg.package ];
52     services.dbus.packages = [ cfg.package ];
54     services.udev.packages = [ cfg.package ];
56     systemd.packages = [ cfg.package ];
58   };