rename sound.enableMediaKeys to sound.mediaKeys.enable and add volumeStep
This commit is contained in:
parent
84a50084c3
commit
11fe837758
|
@ -150,6 +150,9 @@ with lib;
|
||||||
# tarsnap
|
# tarsnap
|
||||||
(mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
|
(mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
|
||||||
|
|
||||||
|
# alsa
|
||||||
|
(mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
|
||||||
|
|
||||||
# Options that are obsolete and have no replacement.
|
# Options that are obsolete and have no replacement.
|
||||||
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
|
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
|
||||||
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
|
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
|
||||||
|
|
|
@ -33,16 +33,6 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableMediaKeys = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to enable volume and capture control with keyboard media keys.
|
|
||||||
|
|
||||||
Enabling this will turn on <option>services.actkbd</option>.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
default = "";
|
default = "";
|
||||||
|
@ -54,6 +44,31 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mediaKeys = {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable volume and capture control with keyboard media keys.
|
||||||
|
|
||||||
|
Enabling this will turn on <option>services.actkbd</option>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
volumeStep = mkOption {
|
||||||
|
type = types.string;
|
||||||
|
default = "1";
|
||||||
|
example = "1%";
|
||||||
|
description = ''
|
||||||
|
The value by which to increment/decrement volume on media keys.
|
||||||
|
|
||||||
|
See amixer(1) for allowed values.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -90,17 +105,17 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.actkbd = mkIf config.sound.enableMediaKeys {
|
services.actkbd = mkIf config.sound.mediaKeys.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
bindings = [
|
bindings = [
|
||||||
# "Mute" media key
|
# "Mute" media key
|
||||||
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsaUtils}/bin/amixer -q set Master toggle"; }
|
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsaUtils}/bin/amixer -q set Master toggle"; }
|
||||||
|
|
||||||
# "Lower Volume" media key
|
# "Lower Volume" media key
|
||||||
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master 1- unmute"; }
|
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}- unmute"; }
|
||||||
|
|
||||||
# "Raise Volume" media key
|
# "Raise Volume" media key
|
||||||
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master 1+ unmute"; }
|
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}+ unmute"; }
|
||||||
|
|
||||||
# "Mic Mute" media key
|
# "Mic Mute" media key
|
||||||
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsaUtils}/bin/amixer -q set Capture toggle"; }
|
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsaUtils}/bin/amixer -q set Capture toggle"; }
|
||||||
|
|
Loading…
Reference in a new issue