106 lines
3 KiB
Nix
106 lines
3 KiB
Nix
{
|
|
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;
|
|
};
|
|
}
|