From f7307329ab45662ef1312e77abda44d23392592b Mon Sep 17 00:00:00 2001 From: Tristan Date: Fri, 18 Jul 2025 09:40:34 +0100 Subject: [PATCH] framework: niri brightness and quit keys --- home/desktop/niri/default.nix | 13 +++++++++++++ home/programs/scripts.nix | 19 ++++++++++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/home/desktop/niri/default.nix b/home/desktop/niri/default.nix index db325d6..fcfa0a8 100644 --- a/home/desktop/niri/default.nix +++ b/home/desktop/niri/default.nix @@ -16,6 +16,8 @@ services.hyprpaper.enable = true; systemd.user.services.hyprpaper.Unit.WantedBy = ["niri.service"]; + home.packages = with pkgs; [brightnessctl]; + services.mako.enable = true; programs.niri = { settings = { @@ -62,6 +64,8 @@ "Mod+Q".action = close-window; + "Mod+Shift+Escape".action = quit; + "Mod+WheelScrollDown".action = focus-workspace-down; "Mod+WheelScrollUp".action = focus-workspace-up; "Mod+Ctrl+WheelScrollDown".action = move-column-to-workspace-down; @@ -71,6 +75,15 @@ "Mod+G".action = toggle-window-floating; "Print".action = screenshot; + + "XF86AudioRaiseVolume".action.spawn = ["raise-volume"]; + "XF86AudioLowerVolume".action.spawn = ["lower-volume"]; + + "XF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"]; + "XF86AudioMicMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"]; + + "XF86MonBrightnessUp".action.spawn = ["brightness" "+10%"]; + "XF86MonBrightnessDown".action.spawn = ["brightness" "10%-"]; }; }; }; diff --git a/home/programs/scripts.nix b/home/programs/scripts.nix index 57cd89f..feff58e 100644 --- a/home/programs/scripts.nix +++ b/home/programs/scripts.nix @@ -187,7 +187,8 @@ in { { name = "raise-volume"; text = '' - ${my-deps.amixer} sset Master 5%+ && ${my-deps.amixer} sset Master unmute + wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+" -l 1.0 + notify-volume ''; hotkeys = [ {key = "bracketright";} @@ -196,12 +197,24 @@ in { key = "XF86AudioRaiseVolume"; } ]; - install = false; + install = true; + } + { + name = "notify-volume"; + text = '' + vol=$(wpctl get-volume "@DEFAULT_AUDIO_SINK@" | cut -d"." -f2) + + ${my-deps.notify-send} "Volume" -h "int:value:$vol" -h string:x-canonical-private-synchronous:volume -t 3000 + ''; + hotkeys = []; + install = true; } { name = "lower-volume"; text = '' ${my-deps.amixer} sset Master 5%- + + notify-volume ''; hotkeys = [ {key = "bracketleft";} @@ -210,7 +223,7 @@ in { key = "XF86AudioLowerVolume"; } ]; - install = false; + install = true; } { name = "skip-track";