{ lib, config, pkgs, ... }: let apps = import ./applications.nix { inherit pkgs; }; in { programs.niri.settings.binds = with config.lib.niri.actions; let pactl = "${pkgs.pulseaudio}/bin/pactl"; volume-up = spawn pactl [ "set-sink-volume" "@DEFAULT_SINK@" "+5%" ]; volume-down = spawn pactl [ "set-sink-volume" "@DEFAULT_SINK@" "-5%" ]; in { # Quickshell Keybinds Start "super+space".action = spawn [ "noctalia-shell" "ipc" "call" "launcher" "toggle" ]; "super+shift+Slash".action = show-hotkey-overlay; "super+l".action = spawn [ "noctalia-shell" "ipc" "call" "lockScreen" "lock" ]; "xf86audioraisevolume".action = volume-up; "xf86audiolowervolume".action = volume-down; "XF86MonBrightnessDown".action = spawn [ "noctalia-shell" "ipc" "call" "brightness" "decrease" ]; "XF86MonBrightnessUp".action = spawn [ "noctalia-shell" "ipc" "call" "brightness" "increase" ]; "super+q".action = close-window; # "super+b".action = spawn apps.browser; "super+Return".action = spawn apps.terminal; #"super+Control+Return".action = spawn apps.appLauncher; "super+E".action = spawn apps.fileManager; "super+o".action = toggle-overview; "super+f".action = maximize-column; "super+Shift+f".action = fullscreen-window; "super+t".action = toggle-window-floating; "super+r".action = switch-preset-column-width; "super+Shift+r".action = switch-preset-window-height; "super+b".action = spawn-sh "${pkgs.grim}/bin/grim \"$HOME/Pictures/screenshots/desktop-$(${pkgs.busybox}/bin/date +%Y%m%d%H%M).png\""; "super+Shift+b".action = spawn-sh "${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy"; # Screenshot selection directly to clipboard "super+Left".action = focus-column-left; "super+Right".action = focus-column-right; "super+Down".action = focus-workspace-down; "super+Up".action = focus-workspace-up; "super+Shift+Left".action = move-column-left; "super+Shift+Right".action = move-column-right; "super+Shift+Down".action = move-column-to-workspace-down; "super+Shift+Up".action = move-column-to-workspace-up; "super+Control+Left".action = focus-monitor-left; "super+Control+Right".action = focus-monitor-right; "super+Control+Down".action = focus-monitor-down; "super+Control+Up".action = focus-monitor-up; "super+BracketLeft".action = consume-or-expel-window-left; "super+BracketRight".action = consume-or-expel-window-right; "super+Comma".action = consume-window-into-column; "super+Period".action = expel-window-from-column; "super+Home".action = focus-column-first; "super+End".action = focus-column-last; }; }