diff options
Diffstat (limited to 'nixos/modules/services/hardware/pommed.nix')
-rw-r--r-- | nixos/modules/services/hardware/pommed.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/nixos/modules/services/hardware/pommed.nix b/nixos/modules/services/hardware/pommed.nix new file mode 100644 index 000000000000..32599554fc12 --- /dev/null +++ b/nixos/modules/services/hardware/pommed.nix @@ -0,0 +1,49 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + options.services.hardware.pommed = { + enable = mkOption { + default = false; + description = '' + Whether to use the pommed tool to handle Apple laptop keyboard hotkeys. + ''; + }; + + configFile = mkOption { + default = "${pkgs.pommed}/etc/pommed.conf"; + description = '' + The contents of the pommed.conf file. + ''; + }; + }; + + config = mkIf config.services.hardware.pommed.enable { + environment.systemPackages = [ pkgs.polkit ]; + + environment.etc = [ + { source = config.services.hardware.pommed.configFile; + target = "pommed.conf"; + } + ]; + + services.dbus.packages = [ pkgs.pommed ]; + + jobs.pommed = { name = "pommed"; + + description = "Pommed hotkey management"; + + startOn = "started dbus"; + + postStop = "rm -f /var/run/pommed.pid"; + + exec = "${pkgs.pommed}/bin/pommed"; + + daemonType = "fork"; + + path = [ pkgs.eject ]; + }; + }; +} |