|
5 | 5 | }: { |
6 | 6 | programs.niri = { |
7 | 7 | package = pkgs.niri-unstable; |
8 | | - config = '' |
9 | | - gestures { |
10 | | - hot-corners { |
11 | | - off |
12 | | - } |
13 | | - } |
14 | | - input { |
15 | | - keyboard { |
16 | | - xkb { |
17 | | - layout "us" |
18 | | - model "pc105" |
19 | | - rules "" |
20 | | - variant "altgr-intl" |
21 | | - options "compose:rctrl,lv3:caps_switch" |
22 | | - } |
23 | | - repeat-delay 600 |
24 | | - repeat-rate 25 |
25 | | - track-layout "global" |
26 | | - } |
27 | | - touchpad { |
28 | | - tap |
29 | | - dwt |
30 | | - natural-scroll |
31 | | - middle-emulation |
32 | | - accel-speed 0.400000 |
33 | | - accel-profile "adaptive" |
34 | | - } |
35 | | - mouse { accel-speed 0.000000; } |
36 | | - trackpoint { accel-speed 0.000000; } |
37 | | - trackball { accel-speed 0.000000; } |
38 | | - tablet |
39 | | - touch |
40 | | - focus-follows-mouse max-scroll-amount="0%" |
41 | | - workspace-auto-back-and-forth |
42 | | - } |
43 | | - output "DP-1" { |
44 | | - background-color "#16161d" |
45 | | - transform "normal" |
46 | | - } |
47 | | - output "DP-2" { |
48 | | - background-color "#16161d" |
49 | | - transform "normal" |
50 | | - } |
51 | | - output "eDP-1" { |
52 | | - background-color "#16161d" |
53 | | - scale 1.000000 |
54 | | - transform "normal" |
55 | | - } |
56 | | - screenshot-path "~/pictures/screenshot-%d-%m-%Y-%T.png" |
57 | | - prefer-no-csd |
58 | | - layout { |
59 | | - gaps 0 |
60 | | - struts { |
61 | | - left 0 |
62 | | - right 0 |
63 | | - top 0 |
64 | | - bottom 0 |
65 | | - } |
66 | | - focus-ring { |
67 | | - width 1 |
68 | | - active-color "#7e9cd800" |
69 | | - inactive-color "#6a9589" |
70 | | - } |
71 | | - border { |
72 | | - width 2 |
73 | | - active-color "#7e9cd8" |
74 | | - inactive-color "#363646" |
75 | | - } |
76 | | - tab-indicator { |
77 | | - place-within-column |
78 | | - gap 0 |
79 | | - width 5 |
80 | | - length total-proportion=0.200000 |
81 | | - position "right" |
82 | | - gaps-between-tabs 5 |
83 | | - corner-radius 5 |
84 | | - active-color "#7e9cd8ff" |
85 | | - inactive-color "#363646ff" |
86 | | - } |
87 | | - insert-hint { color "#76946a88"; } |
88 | | - default-column-width { proportion 0.333000; } |
89 | | - preset-column-widths { |
90 | | - proportion 0.333000 |
91 | | - proportion 0.500000 |
92 | | - proportion 0.667000 |
93 | | - } |
94 | | - preset-window-heights { |
95 | | - proportion 0.333000 |
96 | | - proportion 0.500000 |
97 | | - proportion 0.667000 |
98 | | - } |
99 | | - center-focused-column "never" |
100 | | - empty-workspace-above-first |
101 | | - } |
102 | | - cursor { |
103 | | - xcursor-theme "default" |
104 | | - xcursor-size 24 |
105 | | - } |
106 | | - hotkey-overlay { skip-at-startup; } |
107 | | - environment { DISPLAY ":42"; } |
108 | | - binds { |
109 | | - Cancel { spawn "/nix/store/p8bvcrx0ibsidagf5c6pzqcq3xhqi56a-swaylock-effects-1.7.0.0/bin/swaylock" "-f"; } |
110 | | - Ctrl+Alt+Delete allow-inhibiting=false { quit; } |
111 | | - Ctrl+Print { screenshot-window; } |
112 | | - Mod+0 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"yellow\")' && niri msg action focus-workspace yellow || niri msg action focus-workspace 42 && niri msg action set-workspace-name yellow"; } |
113 | | - Mod+1 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"red\")' && niri msg action focus-workspace red || niri msg action focus-workspace 42 && niri msg action set-workspace-name red"; } |
114 | | - Mod+2 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"green\")' && niri msg action focus-workspace green || niri msg action focus-workspace 42 && niri msg action set-workspace-name green"; } |
115 | | - Mod+3 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"blue\")' && niri msg action focus-workspace blue || niri msg action focus-workspace 42 && niri msg action set-workspace-name blue"; } |
116 | | - Mod+4 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"orange\")' && niri msg action focus-workspace orange || niri msg action focus-workspace 42 && niri msg action set-workspace-name orange"; } |
117 | | - Mod+7 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"pink\")' && niri msg action focus-workspace pink || niri msg action focus-workspace 42 && niri msg action set-workspace-name pink"; } |
118 | | - Mod+8 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"cyan\")' && niri msg action focus-workspace cyan || niri msg action focus-workspace 42 && niri msg action set-workspace-name cyan"; } |
119 | | - Mod+9 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"purple\")' && niri msg action focus-workspace purple || niri msg action focus-workspace 42 && niri msg action set-workspace-name purple"; } |
120 | | - Mod+Backslash { spawn "/nix/store/p8bvcrx0ibsidagf5c6pzqcq3xhqi56a-swaylock-effects-1.7.0.0/bin/swaylock" "-f"; } |
121 | | - Mod+BracketLeft { focus-column-first; } |
122 | | - Mod+BracketRight { focus-column-last; } |
123 | | - Mod+C { center-column; } |
124 | | - Mod+Comma { set-column-width "33.3%"; } |
125 | | - Mod+Ctrl+0 { set-workspace-name "yellow"; } |
126 | | - Mod+Ctrl+1 { set-workspace-name "red"; } |
127 | | - Mod+Ctrl+2 { set-workspace-name "green"; } |
128 | | - Mod+Ctrl+3 { set-workspace-name "blue"; } |
129 | | - Mod+Ctrl+4 { set-workspace-name "orange"; } |
130 | | - Mod+Ctrl+7 { set-workspace-name "pink"; } |
131 | | - Mod+Ctrl+8 { set-workspace-name "cyan"; } |
132 | | - Mod+Ctrl+9 { set-workspace-name "purple"; } |
133 | | - Mod+Ctrl+F { toggle-windowed-fullscreen; } |
134 | | - Mod+Ctrl+H { spawn "fish" "-c" "niri msg -j windows | jq -er '.[]|select(.is_focused==true)|.is_floating' && niri msg action move-window-to-monitor-left || niri msg action move-column-left-or-to-monitor-left"; } |
135 | | - Mod+Ctrl+J { move-workspace-down; } |
136 | | - Mod+Ctrl+K { move-workspace-up; } |
137 | | - Mod+Ctrl+L { spawn "fish" "-c" "niri msg -j windows | jq -er '.[]|select(.is_focused==true)|.is_floating' && niri msg action move-window-to-monitor-right || niri msg action move-column-right-or-to-monitor-right"; } |
138 | | - Mod+Ctrl+M { expand-column-to-available-width; } |
139 | | - Mod+Ctrl+Minus { unset-workspace-name; } |
140 | | - Mod+Ctrl+S { set-dynamic-cast-monitor; } |
141 | | - Mod+Ctrl+Shift+Backslash { spawn "systemctl" "suspend"; } |
142 | | - Mod+Ctrl+Tab { move-workspace-to-monitor-next; } |
143 | | - Mod+Ctrl+V { toggle-window-floating; } |
144 | | - Mod+D { spawn "bash" "-c" "/nix/store/x3bxjpkcbfyzmy5695g1cchf04fbz8ca-procps-4.0.4/bin/pkill wofi || /nix/store/rmzqxydwi93w4sph4hz3k4cq4zn8yfl5-wofi-1.4.1/bin/wofi -aGS drun"; } |
145 | | - Mod+Equal { spawn "niri" "msg" "output" "eDP-1" "on"; } |
146 | | - Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } |
147 | | - Mod+F { fullscreen-window; } |
148 | | - Mod+H { focus-column-or-monitor-left; } |
149 | | - Mod+J { focus-window-or-workspace-down; } |
150 | | - Mod+K { focus-window-or-workspace-up; } |
151 | | - Mod+L { focus-column-or-monitor-right; } |
152 | | - Mod+M { maximize-column; } |
153 | | - Mod+Minus { focus-workspace 42; } |
154 | | - Mod+N { spawn "/nix/store/0jlav4ashclra6rz64xk6ydgybabfvdq-mako-1.10.0/bin/makoctl" "dismiss" "-a"; } |
155 | | - Mod+Period { set-column-width "66.7%"; } |
156 | | - Mod+Q { close-window; } |
157 | | - Mod+R { switch-preset-column-width; } |
158 | | - Mod+Return { spawn "/nix/store/n8sayk27r4dishnkw79l57f7hiskr47p-kitty-0.42.0/bin/kitty"; } |
159 | | - Mod+S { set-dynamic-cast-window; } |
160 | | - Mod+Semicolon { spawn "fish" "-c" "niri msg action focus-window --id (niri msg -j windows | jq -r '.[] | (.id|tostring) + \" \" + .app_id + \": \" + .title' | /nix/store/rmzqxydwi93w4sph4hz3k4cq4zn8yfl5-wofi-1.4.1/bin/wofi -di | cut -d' ' -f1)"; } |
161 | | - Mod+Shift+0 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"yellow\")' && niri msg action move-window-to-workspace yellow || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name yellow"; } |
162 | | - Mod+Shift+1 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"red\")' && niri msg action move-window-to-workspace red || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name red"; } |
163 | | - Mod+Shift+2 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"green\")' && niri msg action move-window-to-workspace green || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name green"; } |
164 | | - Mod+Shift+3 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"blue\")' && niri msg action move-window-to-workspace blue || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name blue"; } |
165 | | - Mod+Shift+4 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"orange\")' && niri msg action move-window-to-workspace orange || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name orange"; } |
166 | | - Mod+Shift+7 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"pink\")' && niri msg action move-window-to-workspace pink || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name pink"; } |
167 | | - Mod+Shift+8 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"cyan\")' && niri msg action move-window-to-workspace cyan || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name cyan"; } |
168 | | - Mod+Shift+9 { spawn "fish" "-c" "niri msg -j workspaces | jq -er '.[]|select(.name==\"purple\")' && niri msg action move-window-to-workspace purple || niri msg action move-window-to-workspace 42 && niri msg action set-workspace-name purple"; } |
169 | | - Mod+Shift+BracketLeft { move-column-to-first; } |
170 | | - Mod+Shift+BracketRight { move-column-to-last; } |
171 | | - Mod+Shift+Equal { spawn "niri" "msg" "output" "eDP-1" "off"; } |
172 | | - Mod+Shift+F { toggle-windowed-fullscreen; } |
173 | | - Mod+Shift+H { consume-or-expel-window-left; } |
174 | | - Mod+Shift+J { spawn "fish" "-c" "niri msg -j windows | jq -er '.[]|select(.is_focused==true)|.is_floating' && niri msg action move-window-to-workspace-down || niri msg action move-window-down-or-to-workspace-down"; } |
175 | | - Mod+Shift+K { spawn "fish" "-c" "niri msg -j windows | jq -er '.[]|select(.is_focused==true)|.is_floating' && niri msg action move-window-to-workspace-up || niri msg action move-window-up-or-to-workspace-up"; } |
176 | | - Mod+Shift+L { consume-or-expel-window-right; } |
177 | | - Mod+Shift+M { reset-window-height; } |
178 | | - Mod+Shift+Minus { spawn "fish" "-c" "niri msg action move-window-to-workspace 42"; } |
179 | | - Mod+Shift+R { switch-preset-window-height; } |
180 | | - Mod+Shift+S { clear-dynamic-cast-target; } |
181 | | - Mod+Shift+Tab { move-window-to-monitor-next; } |
182 | | - Mod+Shift+WheelScrollDown cooldown-ms=150 { focus-column-right; } |
183 | | - Mod+Shift+WheelScrollUp cooldown-ms=150 { focus-column-left; } |
184 | | - Mod+Shift+XF86AudioLowerVolume { set-window-height "-1%"; } |
185 | | - Mod+Shift+XF86AudioRaiseVolume { set-window-height "+1%"; } |
186 | | - Mod+Slash { set-column-width "50%"; } |
187 | | - Mod+Space { toggle-overview; } |
188 | | - Mod+Tab { focus-monitor-next; } |
189 | | - Mod+V { switch-focus-between-floating-and-tiling; } |
190 | | - Mod+W { toggle-column-tabbed-display; } |
191 | | - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } |
192 | | - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } |
193 | | - Mod+XF86AudioLowerVolume { set-column-width "-1%"; } |
194 | | - Mod+XF86AudioRaiseVolume { set-column-width "+1%"; } |
195 | | - Print { screenshot; } |
196 | | - Shift+XF86AudioLowerVolume allow-when-locked=true { spawn "bash" "-c" "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --output-volume=-5 && pkill -SIGRTMIN+4 waybar"; } |
197 | | - Shift+XF86AudioRaiseVolume allow-when-locked=true { spawn "bash" "-c" "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --output-volume=5 && pkill -SIGRTMIN+4 waybar"; } |
198 | | - XF86AudioLowerVolume allow-when-locked=true { spawn "bash" "-c" "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --output-volume=-1 && pkill -SIGRTMIN+4 waybar"; } |
199 | | - XF86AudioMicMute allow-when-locked=true { spawn "bash" "-c" "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --input-volume=mute-toggle && pkill -SIGRTMIN+4 waybar"; } |
200 | | - XF86AudioMute allow-when-locked=true { spawn "bash" "-c" "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --output-volume=mute-toggle && pkill -SIGRTMIN+4 waybar"; } |
201 | | - XF86AudioNext allow-when-locked=true { spawn "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client" "--playerctl=next"; } |
202 | | - XF86AudioPlay allow-when-locked=true { spawn "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client" "--playerctl=play-pause"; } |
203 | | - XF86AudioPrev allow-when-locked=true { spawn "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client" "--playerctl=prev"; } |
204 | | - XF86AudioRaiseVolume allow-when-locked=true { spawn "bash" "-c" "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --output-volume=1 && pkill -SIGRTMIN+4 waybar"; } |
205 | | - XF86AudioStop allow-when-locked=true { spawn "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client" "--playerctl=play-pause"; } |
206 | | - XF86MonBrightnessDown { spawn "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --brightness=lower"; } |
207 | | - XF86MonBrightnessUp { spawn "/nix/store/fcrgnyg3zzxgjvasd3bga5pb6h4pw8nd-swayosd-0.2.0/bin/swayosd-client --brightness=raise"; } |
208 | | - } |
209 | | - spawn-at-startup "/nix/store/m3cbs4i4wx8y3jxkpfqz5qgnlf794hir-xwayland-satellite-0.5.1/bin/xwayland-satellite" ":42" |
210 | | - window-rule { |
211 | | - geometry-corner-radius 1.000000 1.000000 1.000000 1.000000 |
212 | | - clip-to-geometry true |
213 | | - } |
214 | | - window-rule { |
215 | | - match title="^\\[private\\] .*$" |
216 | | - block-out-from "screencast" |
217 | | - } |
218 | | - window-rule { |
219 | | - match app-id="firefox" title="Picture-in-Picture" |
220 | | - open-floating true |
221 | | - } |
222 | | - window-rule { |
223 | | - match is-window-cast-target=true |
224 | | - border { |
225 | | - active-color "#e82424" |
226 | | - inactive-color "#c34043" |
227 | | - } |
228 | | - shadow { |
229 | | - on |
230 | | - color "#c34043" |
231 | | - } |
232 | | - } |
233 | | - window-rule { |
234 | | - match is-floating=true |
235 | | - shadow { |
236 | | - on |
237 | | - color "#7e9cd8" |
238 | | - } |
239 | | - } |
240 | | - layer-rule { |
241 | | - match namespace="notifications" |
242 | | - block-out-from "screen-capture" |
243 | | - } |
244 | | - animations { slowdown 1.000000; } |
245 | | - ''; |
246 | 8 | settings = { |
| 9 | + gestures.hot-corners.enable = false; |
247 | 10 | spawn-at-startup = [ |
248 | 11 | { |
249 | 12 | command = ["${pkgs.xwayland-satellite}/bin/xwayland-satellite" ":42"]; |
|
0 commit comments