nixos-dots

nixos dots
git clone git://popovic.xyz/nixos-dots.git
Log | Files | Refs

commit c768a54ef347b677306d4ca3d4e6fe628b7c2806
parent 7262a55f030e0d9bb1613a8b7a33b9830f63a0a1
Author: Milutin Popovic <milutin@popovic.xyz>
Date:   Thu,  2 Apr 2026 20:06:51 +0100

notctalia bindings

Diffstat:
Mmodules/niri.nix | 196+++++++++++++++++++++++++++++++++++++++++--------------------------------------
1 file changed, 101 insertions(+), 95 deletions(-)

diff --git a/modules/niri.nix b/modules/niri.nix @@ -60,116 +60,122 @@ "r8" = { }; "r9" = { }; }; - binds = { - "Mod+Return".action.spawn = "${terminalCmd}"; - "Mod+C".action.spawn = "firefox"; - "Mod+D".action.spawn = "dmenu-niri_run"; - "Mod+P".action.spawn = "passmenu-otp"; - "Mod+B".action.spawn = "dmenu-bluetooth"; - "Mod+Alt+L".action.spawn = "swaylock -f -c 000000"; - "Mod+W".action.spawn = "spotify"; - "Mod+Shift+P".action.spawn = "pavucontrol"; - "Mod+Shift+B".action.spawn = "nautilus"; - "Mod+Shift+W".action.spawn-sh = "${terminalCmd} -e nmtui"; - "Mod+M".action.spawn-sh = "TZ=Europe/Berlin ${terminalCmd} -e neomutt"; - "Mod+Shift+R".action.spawn-sh = "background"; - "Mod+Shift+Slash".action.show-hotkey-overlay = { }; - "Ctrl+Space".action.spawn-sh = "dunstctl close"; + binds = + let + nshic = "noctalia-shell ipc call notifications"; + in + { + "Mod+Return".action.spawn = "${terminalCmd}"; + "Mod+C".action.spawn = "firefox"; + "Mod+D".action.spawn = "dmenu-niri_run"; + "Mod+P".action.spawn = "passmenu-otp"; + "Mod+B".action.spawn = "dmenu-bluetooth"; + "Mod+Alt+L".action.spawn = "swaylock -f -c 000000"; + "Mod+W".action.spawn = "spotify"; + "Mod+Shift+P".action.spawn = "pavucontrol"; + "Mod+Shift+B".action.spawn = "nautilus"; + "Mod+Shift+W".action.spawn-sh = "${terminalCmd} -e nmtui"; + "Mod+M".action.spawn-sh = "TZ=Europe/Berlin ${terminalCmd} -e neomutt"; + "Mod+Shift+R".action.spawn-sh = "background"; + "Mod+Shift+Slash".action.show-hotkey-overlay = { }; + "Mod+Ctrl+Space".action.spawn-sh = "${nshic} notifications removeOldestHistory"; + "Ctrl+Space".action.spawn-sh = "${nshic} dismissOldest"; + "Mod+Space".action.spawn-sh = "${nshic} toggleHistory"; - "Mod+Shift+E".action.quit.skip-confirmation = true; - "Mod+Shift+Q".action.close-window = { }; - "Mod+F".action.maximize-column = { }; - "Mod+G".action.fullscreen-window = { }; - "Mod+Shift+F".action.toggle-window-floating = { }; - "Mod+Shift+C".action.center-column = { }; + "Mod+Shift+E".action.quit.skip-confirmation = true; + "Mod+Shift+Q".action.close-window = { }; + "Mod+F".action.maximize-column = { }; + "Mod+G".action.fullscreen-window = { }; + "Mod+Shift+F".action.toggle-window-floating = { }; + "Mod+Shift+C".action.center-column = { }; - "Mod+K".action.focus-column-right = { }; - "Mod+J".action.focus-column-left = { }; - "Alt+K".action.focus-workspace-up = { }; - "Alt+J".action.focus-workspace-down = { }; + "Mod+K".action.focus-column-right = { }; + "Mod+J".action.focus-column-left = { }; + "Alt+K".action.focus-workspace-up = { }; + "Alt+J".action.focus-workspace-down = { }; - "Mod+H".action.focus-monitor-left = { }; - "Mod+L".action.focus-monitor-right = { }; + "Mod+H".action.focus-monitor-left = { }; + "Mod+L".action.focus-monitor-right = { }; - "Mod+Ctrl+WheelScrollDown".action.focus-column-left = { }; - "Mod+Ctrl+WheelScrollUp".action.focus-column-right = { }; - "Mod+WheelScrollDown".action.focus-workspace-down = { }; - "Mod+WheelScrollUp".action.focus-workspace-up = { }; + "Mod+Ctrl+WheelScrollDown".action.focus-column-left = { }; + "Mod+Ctrl+WheelScrollUp".action.focus-column-right = { }; + "Mod+WheelScrollDown".action.focus-workspace-down = { }; + "Mod+WheelScrollUp".action.focus-workspace-up = { }; - "Mod+Shift+K".action.move-column-right = { }; - "Mod+Shift+J".action.move-column-left = { }; - "Alt+Shift+K".action.move-window-to-workspace-up = { }; - "Alt+Shift+J".action.move-window-to-workspace-down = { }; + "Mod+Shift+K".action.move-column-right = { }; + "Mod+Shift+J".action.move-column-left = { }; + "Alt+Shift+K".action.move-window-to-workspace-up = { }; + "Alt+Shift+J".action.move-window-to-workspace-down = { }; - "Mod+Shift+H".action.move-window-to-monitor-left = { }; - "Mod+Shift+L".action.move-window-to-monitor-right = { }; + "Mod+Shift+H".action.move-window-to-monitor-left = { }; + "Mod+Shift+L".action.move-window-to-monitor-right = { }; - "Mod+1".action.focus-workspace = "l1"; - "Mod+2".action.focus-workspace = "l2"; - "Mod+3".action.focus-workspace = "l3"; - "Mod+4".action.focus-workspace = "l4"; - "Mod+5".action.focus-workspace = "l5"; - "Mod+6".action.focus-workspace = "l6"; - "Mod+7".action.focus-workspace = "l7"; - "Mod+8".action.focus-workspace = "l8"; - "Mod+9".action.focus-workspace = "l9"; + "Mod+1".action.focus-workspace = "l1"; + "Mod+2".action.focus-workspace = "l2"; + "Mod+3".action.focus-workspace = "l3"; + "Mod+4".action.focus-workspace = "l4"; + "Mod+5".action.focus-workspace = "l5"; + "Mod+6".action.focus-workspace = "l6"; + "Mod+7".action.focus-workspace = "l7"; + "Mod+8".action.focus-workspace = "l8"; + "Mod+9".action.focus-workspace = "l9"; - "Alt+1".action.focus-workspace = "r1"; - "Alt+2".action.focus-workspace = "r2"; - "Alt+3".action.focus-workspace = "r3"; - "Alt+4".action.focus-workspace = "r4"; - "Alt+5".action.focus-workspace = "r5"; - "Alt+6".action.focus-workspace = "r6"; - "Alt+7".action.focus-workspace = "r7"; - "Alt+8".action.focus-workspace = "r8"; - "Alt+9".action.focus-workspace = "r9"; + "Alt+1".action.focus-workspace = "r1"; + "Alt+2".action.focus-workspace = "r2"; + "Alt+3".action.focus-workspace = "r3"; + "Alt+4".action.focus-workspace = "r4"; + "Alt+5".action.focus-workspace = "r5"; + "Alt+6".action.focus-workspace = "r6"; + "Alt+7".action.focus-workspace = "r7"; + "Alt+8".action.focus-workspace = "r8"; + "Alt+9".action.focus-workspace = "r9"; - "Mod+Shift+1".action.move-window-to-workspace = "l1"; - "Mod+Shift+2".action.move-window-to-workspace = "l2"; - "Mod+Shift+3".action.move-window-to-workspace = "l3"; - "Mod+Shift+4".action.move-window-to-workspace = "l4"; - "Mod+Shift+5".action.move-window-to-workspace = "l5"; - "Mod+Shift+6".action.move-window-to-workspace = "l6"; - "Mod+Shift+7".action.move-window-to-workspace = "l7"; - "Mod+Shift+8".action.move-window-to-workspace = "l8"; - "Mod+Shift+9".action.move-window-to-workspace = "l9"; + "Mod+Shift+1".action.move-window-to-workspace = "l1"; + "Mod+Shift+2".action.move-window-to-workspace = "l2"; + "Mod+Shift+3".action.move-window-to-workspace = "l3"; + "Mod+Shift+4".action.move-window-to-workspace = "l4"; + "Mod+Shift+5".action.move-window-to-workspace = "l5"; + "Mod+Shift+6".action.move-window-to-workspace = "l6"; + "Mod+Shift+7".action.move-window-to-workspace = "l7"; + "Mod+Shift+8".action.move-window-to-workspace = "l8"; + "Mod+Shift+9".action.move-window-to-workspace = "l9"; - "Alt+Shift+1".action.move-window-to-workspace = "r1"; - "Alt+Shift+2".action.move-window-to-workspace = "r2"; - "Alt+Shift+3".action.move-window-to-workspace = "r3"; - "Alt+Shift+4".action.move-window-to-workspace = "r4"; - "Alt+Shift+5".action.move-window-to-workspace = "r5"; - "Alt+Shift+6".action.move-window-to-workspace = "r6"; - "Alt+Shift+7".action.move-window-to-workspace = "r7"; - "Alt+Shift+8".action.move-window-to-workspace = "r8"; - "Alt+Shift+9".action.move-window-to-workspace = "r9"; + "Alt+Shift+1".action.move-window-to-workspace = "r1"; + "Alt+Shift+2".action.move-window-to-workspace = "r2"; + "Alt+Shift+3".action.move-window-to-workspace = "r3"; + "Alt+Shift+4".action.move-window-to-workspace = "r4"; + "Alt+Shift+5".action.move-window-to-workspace = "r5"; + "Alt+Shift+6".action.move-window-to-workspace = "r6"; + "Alt+Shift+7".action.move-window-to-workspace = "r7"; + "Alt+Shift+8".action.move-window-to-workspace = "r8"; + "Alt+Shift+9".action.move-window-to-workspace = "r9"; - "Mod+F1".action.spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; - "Mod+F2".action.spawn-sh = "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"; - "Mod+F3".action.spawn-sh = "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"; - "Mod+F4".action.spawn-sh = "sudo xbacklight -dec 1"; - "Mod+F5".action.spawn-sh = "sudo xbacklight -inc 1"; + "Mod+F1".action.spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; + "Mod+F2".action.spawn-sh = "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"; + "Mod+F3".action.spawn-sh = "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"; + "Mod+F4".action.spawn-sh = "sudo xbacklight -dec 1"; + "Mod+F5".action.spawn-sh = "sudo xbacklight -inc 1"; - "Mod+Ctrl+H".action.set-column-width = "-5%"; - "Mod+Ctrl+L".action.set-column-width = "+5%"; - "Mod+Ctrl+K".action.set-window-height = "-5%"; - "Mod+Ctrl+J".action.set-window-height = "+5%"; + "Mod+Ctrl+H".action.set-column-width = "-5%"; + "Mod+Ctrl+L".action.set-column-width = "+5%"; + "Mod+Ctrl+K".action.set-window-height = "-5%"; + "Mod+Ctrl+J".action.set-window-height = "+5%"; - "Shift+Alt+C".action.spawn-sh = "${lib.getExe pkgs.grim} -l 0 - | ${pkgs.wl-clipboard}/bin/wl-copy"; + "Shift+Alt+C".action.spawn-sh = "${lib.getExe pkgs.grim} -l 0 - | ${pkgs.wl-clipboard}/bin/wl-copy"; - "Shift+Alt+V".action.spawn-sh = - "${pkgs.wl-clipboard}/bin/wl-paste | ${lib.getExe pkgs.swappy} -f -"; + "Shift+Alt+V".action.spawn-sh = + "${pkgs.wl-clipboard}/bin/wl-paste | ${lib.getExe pkgs.swappy} -f -"; - "Shift+Alt+S".action.spawn-sh = lib.getExe ( - pkgs.writeShellApplication { - name = "screenshot"; - text = '' - ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp} -w 0)" - \ - | ${pkgs.wl-clipboard}/bin/wl-copy - ''; - } - ); - }; + "Shift+Alt+S".action.spawn-sh = lib.getExe ( + pkgs.writeShellApplication { + name = "screenshot"; + text = '' + ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp} -w 0)" - \ + | ${pkgs.wl-clipboard}/bin/wl-copy + ''; + } + ); + }; layout = { default-column-width.proportion = 0.5; border = {