This repository has no description
Something went wrong. Try again.
7.1 kB · 340 lines
Nix
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341{ osConfig, config, pkgs, lib, ...}:let cfg = osConfig.sidonia;inlib.mkIf cfg.desktop.enable { wayland.desktopManager.sidonia.keybinds = [ { name = "Task Manager"; mod = [ "super" "shift" ]; key = "escape"; exec = "uwsm app -- foot btop"; } { name = "Close Active Window"; mod = [ "Super" "Shift" ]; key = "C"; perCompositor.niri = { _props.repeat = false; close-window = [ ]; }; } { name = "Close Active Window"; mod = "Super"; key = "MouseMiddle"; perCompositor.niri = { _props.repeat = false; close-window = [ ]; }; } { name = "Exit Session"; mod = [ "Super" "Shift" ]; key = "Q"; perCompositor.niri.quit = [ ]; } { name = "Toggle Window Floating"; mod = [ "Super" "Shift" ]; key = "V"; perCompositor.niri.toggle-window-floating = [ ]; } { name = "Switch Focus Between Floating and Tiling"; mod = "Super"; key = "V"; perCompositor.niri.switch-focus-between-floating-and-tiling = [ ]; } { name = "Maximize Column"; mod = [ "Super" "Alt" ]; key = "F"; perCompositor.niri.maximize-column = [ ]; } { name = "Toggle Fullscreen"; mod = "Super"; key = "F"; perCompositor.niri.fullscreen-window = [ ]; } { name = "Move Focus Left"; mod = "Super"; key = "H"; perCompositor.niri.focus-column-left = [ ]; } { name = "Move Focus Right"; mod = "Super"; key = "L"; perCompositor.niri.focus-column-right = [ ]; } { name = "Move Column Left"; mod = [ "Super" "Shift" ]; key = "H"; perCompositor.niri.move-column-left = [ ]; } { name = "Move Column Left"; mod = "Super"; key = "MouseForward"; perCompositor.niri.move-column-left = [ ]; } { name = "Move Column Right"; mod = [ "Super" "Shift" ]; key = "L"; perCompositor.niri.move-column-right = [ ]; } { name = "Move Column Right"; mod = "Super"; key = "MouseBack"; perCompositor.niri.move-column-right = [ ]; } { name = "Decrease Column Width"; mod = [ "Super" "Alt" ]; key = "H"; perCompositor.niri.switch-preset-column-width-back = [ ]; } { name = "Decrease Column Width"; mod = [ "Super" "Alt" ]; key = "WheelScrollDown"; perCompositor.niri.switch-preset-column-width-back = [ ]; } { name = "Increase Column Width"; mod = [ "Super" "Alt" ]; key = "L"; perCompositor.niri.switch-preset-column-width = [ ]; } { name = "Increase Column Width"; mod = [ "Super" "Alt" ]; key = "WheelScrollUp"; perCompositor.niri.switch-preset-column-width = [ ]; } { name = "Move Focus Down"; mod = "Super"; key = "J"; perCompositor.niri.focus-window-or-workspace-down = [ ]; } { name = "Move Focus Up"; mod = "Super"; key = "K"; perCompositor.niri.focus-window-or-workspace-up = [ ]; } { name = "Focus Monitor Right"; mod = "Super"; key = "Period"; perCompositor.niri.focus-monitor-right = [ ]; } { name = "Focus Monitor Left"; mod = "Super"; key = "Comma"; perCompositor.niri.focus-monitor-left = [ ]; } { name = "Center Column"; mod = "Super"; key = "B"; perCompositor.niri.center-column = [ ]; } { name = "Move Window Down"; mod = [ "Super" "Shift" ]; key = "J"; perCompositor.niri.move-window-down-or-to-workspace-down = [ ]; } { name = "Move Window Up"; mod = [ "Super" "Shift" ]; key = "K"; perCompositor.niri.move-window-up-or-to-workspace-up = [ ]; } { name = "Move Column to Right Monitor"; mod = [ "Super" "Shift" ]; key = "Period"; perCompositor.niri.move-column-to-monitor-right = [ ]; } { name = "Move Column to Left Monitor"; mod = [ "Super" "Shift" ]; key = "Comma"; perCompositor.niri.move-column-to-monitor-left = [ ]; } { name = "Screenshot Monitor"; key = "Print"; perCompositor.niri.screenshot-screen = [ ]; } { name = "Screenshot Window"; mod = "Super"; key = "Print"; perCompositor.niri.screenshot-window = [ ]; } { name = "Screenshot Region"; mod = [ "Super" "Shift" ]; key = "Print"; perCompositor.niri.screenshot = [ ]; } { name = "Scroll to Next Workspace"; mod = "Super"; key = "WheelScrollDown"; perCompositor.niri = { _props.cooldown-ms = 150; focus-workspace-down = [ ]; }; } { name = "Scroll to Prev Workspace"; mod = "Super"; key = "WheelScrollUp"; perCompositor.niri = { _props.cooldown-ms = 150; focus-workspace-up = [ ]; }; } { name = "Scroll Layout Right"; mod = [ "Super" "Shift" ]; key = "WheelScrollDown"; perCompositor.niri = { _props.cooldown-ms = 150; focus-column-right = [ ]; }; } { name = "Scroll Layout Left"; mod = [ "Super" "Shift" ]; key = "WheelScrollUp"; perCompositor.niri = { _props.cooldown-ms = 150; focus-column-left = [ ]; }; } { name = "Toggle Overview"; mod = "Super"; key = "Space"; perCompositor.niri = { _props.repeat = false; toggle-overview = [ ]; }; } ] ++ (builtins.concatLists ( let count = 10; in builtins.genList ( x: let index = x + 1; key = toString (lib.mod index count); name = toString index; in [ { name = "Focus Workspace ${name}"; mod = "Super"; inherit key; perCompositor.niri.focus-workspace = index; } { name = "Move Window to Workspace ${name}"; mod = [ "Super" "Shift" ]; inherit key; perCompositor.niri.move-window-to-workspace = index; } { name = "Move Window to Workspace ${name} (No Focus)"; mod = [ "Super" "Ctrl" ]; inherit key; perCompositor.niri.move-window-to-workspace = { _props.focus = false; _args = [ index ]; }; } ] ) count ));}