summaryrefslogtreecommitdiff
path: root/accounts/gkleen@sif/hyprland.nix
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2024-08-11 11:13:27 +0200
committerGregor Kleen <gkleen@yggdrasil.li>2024-08-11 11:13:27 +0200
commit5786716a383254c256f109d38fda1c898456fb60 (patch)
tree43b4b5918eb58fd6ffc728fe0d4f21dc3431981d /accounts/gkleen@sif/hyprland.nix
parent148e387fe152242f472322218f1e0bd35afe67e8 (diff)
downloadnixos-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.nix229
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}