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 | } | ||
