diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2024-08-11 11:13:27 +0200 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2024-08-11 11:13:27 +0200 |
commit | 5786716a383254c256f109d38fda1c898456fb60 (patch) | |
tree | 43b4b5918eb58fd6ffc728fe0d4f21dc3431981d /accounts/gkleen@sif/hyprland.nix | |
parent | 148e387fe152242f472322218f1e0bd35afe67e8 (diff) | |
download | nixos-5786716a383254c256f109d38fda1c898456fb60.tar nixos-5786716a383254c256f109d38fda1c898456fb60.tar.gz nixos-5786716a383254c256f109d38fda1c898456fb60.tar.bz2 nixos-5786716a383254c256f109d38fda1c898456fb60.tar.xz nixos-5786716a383254c256f109d38fda1c898456fb60.zip |
sif: hyprland
Diffstat (limited to 'accounts/gkleen@sif/hyprland.nix')
-rw-r--r-- | accounts/gkleen@sif/hyprland.nix | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/accounts/gkleen@sif/hyprland.nix b/accounts/gkleen@sif/hyprland.nix new file mode 100644 index 00000000..9b20f89e --- /dev/null +++ b/accounts/gkleen@sif/hyprland.nix | |||
@@ -0,0 +1,229 @@ | |||
1 | { pkgs, lib, ... }: | ||
2 | { | ||
3 | monitor = [ | ||
4 | ",preferred,auto,auto" | ||
5 | "eDP-1,3840x2160@59.99900,auto,1.5" | ||
6 | ]; | ||
7 | |||
8 | "$terminal" = "kitty"; | ||
9 | "$menu" = "wofi --show run"; | ||
10 | |||
11 | exec-once = [ | ||
12 | "wpaperd" | ||
13 | ]; | ||
14 | |||
15 | env = [ | ||
16 | # "XCURSOR_SIZE,12" | ||
17 | "NIXOS_OZONE_WL,1" | ||
18 | "QT_QPA_PLATFORM,wayland" | ||
19 | "GDK_BACKEND,wayland" | ||
20 | "GDK_SCALE,0.66" | ||
21 | "QT_AUTO_SCREEN_SCALE_FACTOR,1" | ||
22 | ]; | ||
23 | |||
24 | xwayland.force_zero_scaling = true; | ||
25 | |||
26 | general = { | ||
27 | gaps_in = 3; | ||
28 | gaps_out = 9; | ||
29 | "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; | ||
30 | "col.inactive_border" = "rgba(595959aa)"; | ||
31 | |||
32 | resize_on_border = false; | ||
33 | |||
34 | allow_tearing = false; | ||
35 | |||
36 | layout = "dwindle"; | ||
37 | }; | ||
38 | |||
39 | decoration = { | ||
40 | rounding = 5; | ||
41 | |||
42 | active_opacity = 1.0; | ||
43 | inactive_opacity = 1.0; | ||
44 | |||
45 | drop_shadow = false; | ||
46 | shadow_range = 4; | ||
47 | shadow_render_power = 3; | ||
48 | "col.shadow" = "rgba(1a1a1aee)"; | ||
49 | |||
50 | blur = { | ||
51 | enabled = true; | ||
52 | size = 3; | ||
53 | passes = 1; | ||
54 | |||
55 | vibrancy = 0.1696; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | animations = { | ||
60 | enabled = true; | ||
61 | bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; | ||
62 | animation = [ | ||
63 | "windows, 1, 3, default, popin 80%" | ||
64 | "windowsMove, 0" | ||
65 | # "windows, 1, 7, myBezier" | ||
66 | # "windowsOut, 1, 7, myBezier, popin 80%" | ||
67 | "border, 1, 10, default" | ||
68 | "borderangle, 1, 8, default" | ||
69 | "fade, 1, 3, default" | ||
70 | "workspaces, 1, 3, default, fade" | ||
71 | # "workspaces, 1, 6, default" | ||
72 | ]; | ||
73 | }; | ||
74 | |||
75 | dwindle = { | ||
76 | pseudotile = true; | ||
77 | preserve_split = true; | ||
78 | }; | ||
79 | |||
80 | master = { | ||
81 | new_status = "master"; | ||
82 | }; | ||
83 | |||
84 | misc = { | ||
85 | force_default_wallpaper = -1; | ||
86 | disable_hyprland_logo = false; | ||
87 | }; | ||
88 | |||
89 | input = { | ||
90 | kb_layout = "us,us"; | ||
91 | kb_variant = "dvp,"; | ||
92 | kb_model = ""; | ||
93 | kb_options = "compose:caps,grp:win_space_toggle"; | ||
94 | kb_rules = ""; | ||
95 | |||
96 | follow_mouse = 1; | ||
97 | |||
98 | sensitivity = 0; | ||
99 | |||
100 | touchpad = { | ||
101 | natural_scroll = false; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | device = [ | ||
106 | { name = "synaptics-tm3512-010"; | ||
107 | sensitivity = 0.4; | ||
108 | } | ||
109 | { name = "tpps/2-elan-trackpoint"; | ||
110 | sensitivity = 0.2; | ||
111 | } | ||
112 | ]; | ||
113 | |||
114 | gestures = { | ||
115 | workspace_swipe = false; | ||
116 | }; | ||
117 | |||
118 | dwindle = { | ||
119 | # no_gaps_when_only = 1; | ||
120 | }; | ||
121 | |||
122 | "$mainMod" = "SUPER"; | ||
123 | |||
124 | bind = [ | ||
125 | "$mainMod, Q, exec, $terminal" | ||
126 | "$mainMod, C, killactive" | ||
127 | "$mainMod, M, exit" | ||
128 | "$mainMod, V, togglefloating" | ||
129 | "$mainMod, R, exec, $menu" | ||
130 | "$mainMod, P, pseudo," | ||
131 | "$mainMod, J, togglesplit," | ||
132 | |||
133 | # "$mainMod SHIFT, L, exec, loginctl lock-session" | ||
134 | "$mainMod SHIFT, L, exec, gtklock -d" | ||
135 | "$mainMod SHIFT, S, exec, systemctl suspend" | ||
136 | |||
137 | "$mainMod, left, movefocus, l" | ||
138 | "$mainMod, right, movefocus, r" | ||
139 | "$mainMod, up, movefocus, u" | ||
140 | "$mainMod, down, movefocus, d" | ||
141 | "$mainMod SHIFT, left, swapwindow, l" | ||
142 | "$mainMod SHIFT, right, swapwindow, r" | ||
143 | "$mainMod SHIFT, up, swapwindow, u" | ||
144 | "$mainMod SHIFT, down, swapwindow, d" | ||
145 | |||
146 | "$mainMod, T, cyclenext" | ||
147 | |||
148 | "$mainMod SHIFT, N, movecurrentworkspacetomonitor, +1" | ||
149 | |||
150 | "$mainMod, F, fullscreen, 1" | ||
151 | "$mainMod SHIFT, F, fullscreen, 0" | ||
152 | |||
153 | "$mainMod, code:14, workspace, 1" | ||
154 | "$mainMod, code:17, workspace, 2" | ||
155 | "$mainMod, code:13, workspace, 3" | ||
156 | "$mainMod, code:18, workspace, 4" | ||
157 | "$mainMod, code:12, workspace, 5" | ||
158 | "$mainMod, code:19, workspace, 6" | ||
159 | "$mainMod, code:11, workspace, 7" | ||
160 | "$mainMod, code:20, workspace, 8" | ||
161 | "$mainMod, code:15, workspace, 9" | ||
162 | "$mainMod, code:16, workspace, 10" | ||
163 | |||
164 | "$mainMod SHIFT, code:14, movetoworkspacesilent, 1" | ||
165 | "$mainMod SHIFT, code:17, movetoworkspacesilent, 2" | ||
166 | "$mainMod SHIFT, code:13, movetoworkspacesilent, 3" | ||
167 | "$mainMod SHIFT, code:18, movetoworkspacesilent, 4" | ||
168 | "$mainMod SHIFT, code:12, movetoworkspacesilent, 5" | ||
169 | "$mainMod SHIFT, code:19, movetoworkspacesilent, 6" | ||
170 | "$mainMod SHIFT, code:11, movetoworkspacesilent, 7" | ||
171 | "$mainMod SHIFT, code:20, movetoworkspacesilent, 8" | ||
172 | "$mainMod SHIFT, code:15, movetoworkspacesilent, 9" | ||
173 | "$mainMod SHIFT, code:16, movetoworkspacesilent, 10" | ||
174 | |||
175 | "CTRL, space, exec, dunstctl close" | ||
176 | "CTRL SHIFT, space, exec, dunstctl close-all" | ||
177 | "CTRL, period, exec, dunstctl context" | ||
178 | "CTRL, comma, exec, dunstctl history-pop" | ||
179 | |||
180 | "$mainMod ALT, E, exec, emacsclient -c" | ||
181 | |||
182 | ", XF86MonBrightnessUp, exec, brightnessctl s +5%" | ||
183 | ", XF86MonBrightnessDown, exec, brightnessctl s 5%-" | ||
184 | ", XF86AudioRaiseVolume, exec, pamixer -i 2" | ||
185 | ", XF86AudioLowerVolume, exec, pamixer -d 2" | ||
186 | ", XF86AudioMute, exec, pamixer -t" | ||
187 | |||
188 | ", Print, exec, ${pkgs.writeShellScript "screenshot" '' | ||
189 | export PATH="${lib.makeBinPath (with pkgs; [ grim slurp wl-clipboard-rs coreutils ])}:$PATH" | ||
190 | |||
191 | outFile="$HOME/screenshots/$(date +"%Y-%m-%dT%H:%M:%S").png" | ||
192 | grim -g "$(slurp -b 00000080 -c FFFFFFFF -s 00000000 -w 1)" "$outFile" | ||
193 | wl-copy --type image/png <"$outFile" | ||
194 | ''}" | ||
195 | |||
196 | "$mainMod CTRL, return, togglespecialworkspace, term" | ||
197 | "$mainMod CTRL, e, togglespecialworkspace, edit" | ||
198 | "$mainMod CTRL, a, togglespecialworkspace, pavucontrol" | ||
199 | "$mainMod CTRL, o, togglespecialworkspace, easyeffects" | ||
200 | "$mainMod CTRL, b, togglespecialworkspace, blueman" | ||
201 | "$mainMod CTRL, p, togglespecialworkspace, keepass" | ||
202 | ]; | ||
203 | bindm = [ | ||
204 | "$mainMod, mouse:272, movewindow" | ||
205 | "$mainMod, mouse:273, resizewindow" | ||
206 | ]; | ||
207 | |||
208 | windowrulev2 = [ | ||
209 | "suppressevent maximize, class:.*" | ||
210 | "maximize, class:^(Element|thunderbird)$" | ||
211 | "workspace special:keepass, class:^org\.keepassxc\.KeePassXC$" | ||
212 | # "group set always lock invade, class:^Element$" | ||
213 | ]; | ||
214 | |||
215 | workspace = [ | ||
216 | "s[true], gapsout:200" | ||
217 | |||
218 | "special:term, on-created-empty:kitty" | ||
219 | "special:edit, on-created-empty:emacsclient -c" | ||
220 | "special:pavucontrol, on-created-empty:pavucontrol" | ||
221 | "special:easyeffects, on-created-empty:easyeffects" | ||
222 | "special:blueman, on-created-empty:blueman-manager" | ||
223 | "special:keepass, on-created-empty:keepassxc" | ||
224 | ]; | ||
225 | |||
226 | layerrule = [ | ||
227 | "blur, waybar" | ||
228 | ]; | ||
229 | } | ||