summary refs log tree commit diff
path: root/nixos/modules/services/hardware/acpid.nix
diff options
context:
space:
mode:
authorkoral <koral@mailoo.org>2016-01-17 13:04:54 +0100
committerkoral <koral@mailoo.org>2016-01-17 13:04:54 +0100
commit93279824861d6a8eab9babab04dec503c854225e (patch)
tree05c45f444759c3f8da302aaee24469a18152d04b /nixos/modules/services/hardware/acpid.nix
parent26f221d6b62b24d48f79f22e7f12bb6ff10580da (diff)
downloadnixpkgs-93279824861d6a8eab9babab04dec503c854225e.tar
nixpkgs-93279824861d6a8eab9babab04dec503c854225e.tar.gz
nixpkgs-93279824861d6a8eab9babab04dec503c854225e.tar.bz2
nixpkgs-93279824861d6a8eab9babab04dec503c854225e.tar.lz
nixpkgs-93279824861d6a8eab9babab04dec503c854225e.tar.xz
nixpkgs-93279824861d6a8eab9babab04dec503c854225e.tar.zst
nixpkgs-93279824861d6a8eab9babab04dec503c854225e.zip
Add volume and cd events to acpid configuration
Diffstat (limited to 'nixos/modules/services/hardware/acpid.nix')
-rw-r--r--nixos/modules/services/hardware/acpid.nix93
1 files changed, 92 insertions, 1 deletions
diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix
index e3421899d36..48b2b6be09e 100644
--- a/nixos/modules/services/hardware/acpid.nix
+++ b/nixos/modules/services/hardware/acpid.nix
@@ -20,7 +20,7 @@ let
       }
     '';
 
-  events = [powerEvent lidEvent acEvent];
+  events = [powerEvent lidEvent acEvent muteEvent volumeDownEvent volumeUpEvent cdPlayEvent cdNextEvent cdPrevEvent];
 
   # Called when the power button is pressed.
   powerEvent =
@@ -55,6 +55,61 @@ let
         '';
     };
 
+  muteEvent = {
+    name = "mute";
+    event = "button/mute.*";
+    action = ''
+      #! ${pkgs.bash}/bin/sh
+      ${config.services.acpid.muteCommands}
+    '';
+  };
+
+  volumeDownEvent = {
+    name = "volume-down";
+    event = "button/volumedown.*";
+    action = ''
+      #! ${pkgs.bash}/bin/sh
+      ${config.services.acpid.volumeDownEventCommands}
+    '';
+  };
+
+  volumeUpEvent = {
+    name = "volume-up";
+    event = "button/volumeup.*";
+    action = ''
+      #! ${pkgs.bash}/bin/sh
+      ${config.services.acpid.volumeUpEventCommands}
+    '';
+  };
+
+  cdPlayEvent = {
+    name = "cd-play";
+    event = "cd/play.*";
+    action = ''
+      #! ${pkgs.bash}/bin/sh
+      ${config.services.acpid.cdPlayEventCommands}
+    '';
+  };
+
+  cdNextEvent = {
+    name = "cd-next";
+    event = "cd/next.*";
+    action = ''
+      #! ${pkgs.bash}/bin/sh
+      ${config.services.acpid.cdNextEventCommands}
+    '';
+  };
+
+  cdPrevEvent = {
+    name = "cd-prev";
+    event = "cd/prev.*";
+    action = ''
+      #! ${pkgs.bash}/bin/sh
+      ${config.services.acpid.cdPrevEventCommands}
+    '';
+  };
+
+
 in
 
 {
@@ -89,6 +144,42 @@ in
         description = "Shell commands to execute on an ac_adapter.* event.";
       };
 
+      muteCommands = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Shell commands to execute on an button/mute.* event.";
+      };
+
+      volumeDownEventCommands = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Shell commands to execute on an button/volumedown.* event.";
+      };
+
+      volumeUpEventCommands = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Shell commands to execute on an button/volumeup.* event.";
+      };
+
+      cdPlayEventCommands = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Shell commands to execute on an cd/play.* event.";
+      };
+
+      cdNextEventCommands = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Shell commands to execute on an cd/next.* event.";
+      };
+
+      cdPrevEventCommands = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Shell commands to execute on an cd/prev.* event.";
+      };
+
     };
 
   };