diff --git a/modules/home/hyprland/binds.nix b/modules/home/hyprland/binds.nix index 5eb90a9..8dd6c78 100644 --- a/modules/home/hyprland/binds.nix +++ b/modules/home/hyprland/binds.nix @@ -51,6 +51,23 @@ in "$mod SHIFT, 5, movetoworkspace, 5" ]; + # Repeatable binds (hold key to keep changing) + bindel = [ + # Volume + ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+" + ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-" + + # Brightness + ", XF86MonBrightnessUp, exec, brightnessctl set +5%" + ", XF86MonBrightnessDown, exec, brightnessctl set 5%-" + ]; + + # Binds that also work while screen is locked + bindl = [ + ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" + ]; + bindm = [ "$mod, mouse:272, movewindow" "$mod, mouse:273, resizewindow" diff --git a/modules/home/hyprland/hyprland.nix b/modules/home/hyprland/hyprland.nix index 48f9be3..949bcdc 100644 --- a/modules/home/hyprland/hyprland.nix +++ b/modules/home/hyprland/hyprland.nix @@ -10,6 +10,10 @@ let displayCfg = config.modules.display; in { + home.packages = with pkgs; [ + brightnessctl + ]; + wayland.windowManager.hyprland = { enable = cfg.enable; package = pkgs.hyprland; diff --git a/modules/nixos/user.nix b/modules/nixos/user.nix index 32dafe5..55c7ce7 100644 --- a/modules/nixos/user.nix +++ b/modules/nixos/user.nix @@ -14,6 +14,7 @@ in initialPassword = "changeme"; extraGroups = [ "networkmanager" + "video" "wheel" ]; shell = pkgs.${shellCfg.defaultShell};