grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / hardware / pommed.nix
blobc5efb76d6eece0eeed659b7ba1f7693817b1cb47
1 { config, lib, pkgs, ... }:
2 let cfg = config.services.hardware.pommed;
3     defaultConf = "${pkgs.pommed_light}/etc/pommed.conf.mactel";
4 in {
6   options = {
8     services.hardware.pommed = {
10       enable = lib.mkOption {
11         type = lib.types.bool;
12         default = false;
13         description = ''
14           Whether to use the pommed tool to handle Apple laptop
15           keyboard hotkeys.
16         '';
17       };
19       configFile = lib.mkOption {
20         type = lib.types.nullOr lib.types.path;
21         default = null;
22         description = ''
23           The path to the {file}`pommed.conf` file. Leave
24           to null to use the default config file
25           ({file}`/etc/pommed.conf.mactel`). See the
26           files {file}`/etc/pommed.conf.mactel` and
27           {file}`/etc/pommed.conf.pmac` for examples to
28           build on.
29         '';
30       };
31     };
33   };
35   config = lib.mkIf cfg.enable {
36     environment.systemPackages = [ pkgs.polkit pkgs.pommed_light ];
38     environment.etc."pommed.conf".source =
39       if cfg.configFile == null then defaultConf else cfg.configFile;
41     systemd.services.pommed = {
42       description = "Pommed Apple Hotkeys Daemon";
43       wantedBy = [ "multi-user.target" ];
44       script = "${pkgs.pommed_light}/bin/pommed -f";
45     };
46   };