36 lines
1.3 KiB
Nix
36 lines
1.3 KiB
Nix
{
|
|
user ? throw "user argument is required",
|
|
home ? throw "home argument is required",
|
|
}:
|
|
{ lib, pkgs, ... }:
|
|
{
|
|
home-manager.users.${user} = {
|
|
home.packages = with pkgs; [ pavucontrol ];
|
|
|
|
wayland.windowManager.hyprland.settings =
|
|
let
|
|
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
|
playerctl = lib.meta.getExe pkgs.playerctl;
|
|
in
|
|
{
|
|
bindle = [
|
|
", XF86AudioRaiseVolume, exec, ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ -l 2.0 2%+"
|
|
", XF86AudioLowerVolume, exec, ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ -l 2.0 2%-"
|
|
"Ctrl, XF86AudioRaiseVolume, exec, ${wpctl} set-volume @DEFAULT_AUDIO_SOURCE@ -l 1.0 2%+"
|
|
"Ctrl, XF86AudioLowerVolume, exec, ${wpctl} set-volume @DEFAULT_AUDIO_SOURCE@ -l 1.0 2%-"
|
|
", XF86AudioNext, exec, ${playerctl} next"
|
|
", XF86AudioPrev, exec, ${playerctl} previous"
|
|
"Ctrl, XF86AudioNext, exec, ${playerctl} position 10+"
|
|
"Ctrl, XF86AudioPrev, exec, ${playerctl} position 10-"
|
|
];
|
|
|
|
bindl = [
|
|
", XF86AudioMute, exec, ${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
", XF86AudioMicMute, exec, ${wpctl} set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
", XF86AudioPlay, exec, ${playerctl} play-pause"
|
|
", XF86AudioStop, exec, ${playerctl} stop"
|
|
];
|
|
};
|
|
};
|
|
}
|